Cara Update Data di Tabel MySQL Lebih Lanjut - Sinauo.Com

Cara Update Data di Tabel MySQL Lebih Lanjut


Kali ini admin akan memberikan sebuah tutorial bagaimana cara update atau mengubah data di tabel mysql. Sebelumnya admin sudah menjelaskan sedikit tentang tutorial Cara Menampilkan Menambah Mengedit dan Menghapus data di MySQL  di bagian Cara Mengubah Isi Data Dalam Tabel Mysql ( UPDATE ) dan kali ini admin akan menggunakan tabel Guru kemarin yang sudah admin gunakan dalam tutorial kemarin.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sekolah            |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> use sekolah;
Database changed
mysql> create table guru (kode_guru char(10), nama_guru varchar(35), jenis_kelamin enum('L','P'), alamat_guru varchar(50), primary key(kode_guru));
Query OK, 0 rows affected (0.03 sec)

Isikan data berikut ini

Tabel Guru

+-----------+-----------+---------------+-------------+
| kode_guru | nama_guru | jenis_kelamin | alamat_guru |
+-----------+-----------+---------------+-------------+
| KG001     | Khoirudin | L             | Bangsri     |
| KG002     | Amelia    | P             | Mlonggo     |
| KG003     | Angel     | P             | Jepara      |
| KG004     | Sulistiyo | L             | Pakis Aji   |
| KG005     | Putri     | P             | Bangsri     |
| KG006     | Pujiono   | L             | Mlonggo     |
| KG007     | Dewi      | P             | Bangsri     |
| KG008     | Yusuf     | L             | Kembang     |
| KG009     | Yuniar    | L             | Keling      |
| KG010     | Susan     | P             | Jepara      |
+-----------+-----------+---------------+-------------+

Sebelumnya admin sudah menjelaskan sedikit mengenai tentang Query Update di Cara Menampilkan Menambah Mengedit dan Menghapus data di MySQL  di bagian Cara Mengubah Isi Data Dalam Tabel Mysql ( UPDATE ) di situ admin menerangkan tentang query update fungsi dari query update tapi di situ admin hanya menerangkan satu query update saja. dan lanjutannya akan admin bahas disini.

Query Update

UPDATE nama_tabel SET nama_field = data_baru WHERE kondisi

Contoh Update data alamat guru atas nama susan ( yang paling bawah sendiri ) yang awalnya field/kolom alamat_guru Jepara Menjadi Bangsri.

mysql> select*from guru;
+-----------+-----------+---------------+-------------+
| kode_guru | nama_guru | jenis_kelamin | alamat_guru |
+-----------+-----------+---------------+-------------+
| KG001     | Khoirudin | L             | Bangsri     |
| KG002     | Amelia    | P             | Mlonggo     |
| KG003     | Angel     | P             | Jepara      |
| KG004     | Sulistiyo | L             | Pakis Aji   |
| KG005     | Putri     | P             | Bangsri     |
| KG006     | Pujiono   | L             | Mlonggo     |
| KG007     | Dewi      | P             | Bangsri     |
| KG008     | Yusuf     | L             | Kembang     |
| KG009     | Yuniar    | L             | Keling      |
| KG010     | Susan     | P             | Jepara      |
+-----------+-----------+---------------+-------------+
10 rows in set (0.00 sec)

mysql> update guru set alamat_guru='Bangsri' where nama_guru='Susan';
Query OK, 1 row affected (0.16 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select*from guru;
+-----------+-----------+---------------+-------------+
| kode_guru | nama_guru | jenis_kelamin | alamat_guru |
+-----------+-----------+---------------+-------------+
| KG001     | Khoirudin | L             | Bangsri     |
| KG002     | Amelia    | P             | Mlonggo     |
| KG003     | Angel     | P             | Jepara      |
| KG004     | Sulistiyo | L             | Pakis Aji   |
| KG005     | Putri     | P             | Bangsri     |
| KG006     | Pujiono   | L             | Mlonggo     |
| KG007     | Dewi      | P             | Bangsri     |
| KG008     | Yusuf     | L             | Kembang     |
| KG009     | Yuniar    | L             | Keling      |
| KG010     | Susan     | P             | Bangsri     |
+-----------+-----------+---------------+-------------+
10 rows in set (0.00 sec)

mysql>

Cara Mengubah / update Lebih dari 1 Baris Data di Tabel Databases Mysql

Untuk query kali ini admin akan menggunakan kondisi tambahan dengan operator logika OR atau AND. Query ini sedikit agak rumit dan ginukan untuk mengubah beberapa field/kolom sekaligus

Perhatikan contoh query berikut ini.

mysql> select*from guru;
+-----------+-----------+---------------+-------------+
| kode_guru | nama_guru | jenis_kelamin | alamat_guru |
+-----------+-----------+---------------+-------------+
| KG001     | Khoirudin | L             | Bangsri     |
| KG002     | Amelia    | P             | Mlonggo     |
| KG003     | Angel     | P             | Jepara      |
| KG004     | Sulistiyo | L             | Pakis Aji   |
| KG005     | Putri     | P             | Bangsri     |
| KG006     | Pujiono   | L             | Mlonggo     |
| KG007     | Dewi      | P             | Bangsri     |
| KG008     | Yusuf     | L             | Kembang     |
| KG009     | Yuniar    | L             | Keling      |
| KG010     | Susan     | P             | Bangsri     |
+-----------+-----------+---------------+-------------+
10 rows in set (0.00 sec)

mysql> Update guru set alamat_guru='Jepara' Where kode_guru='KG001' OR nama_guru='Amelia';
Query OK, 2 rows affected (0.11 sec)
Rows matched: 2  Changed: 2  Warnings: 0

mysql> select*from guru;
+-----------+-----------+---------------+-------------+
| kode_guru | nama_guru | jenis_kelamin | alamat_guru |
+-----------+-----------+---------------+-------------+
| KG001     | Khoirudin | L             | Jepara      |
| KG002     | Amelia    | P             | Jepara      |
| KG003     | Angel     | P             | Jepara      |
| KG004     | Sulistiyo | L             | Pakis Aji   |
| KG005     | Putri     | P             | Bangsri     |
| KG006     | Pujiono   | L             | Mlonggo     |
| KG007     | Dewi      | P             | Bangsri     |
| KG008     | Yusuf     | L             | Kembang     |
| KG009     | Yuniar    | L             | Keling      |
| KG010     | Susan     | P             | Bangsri     |
+-----------+-----------+---------------+-------------+
10 rows in set (0.00 sec)

mysql>

Dari query diatas admin mengubah dua data record/baris sekaligus yaitu kode_guru KG001 yang asal mulanya alamatnya Bangsri diubah menjadi Jepara dan nama_guru Amelia yang asal mulanya alamantya mlonggo di ubah menjadi Jepara. dan semua itu di ubah dalam satu statement diatas dengan menggunakan kondisi tambahan OR.

Cara Mengubah/Mengupdate Data di Tabel dengan Query UPDATE ORDER BY LIMIT

Fungsi dari perintah ORDER BY LIMIT adalah untuk membtasi perintah UPDATE sesuai ketentuan.

Contoh misalkan kita ingin mengubah empat row/baris awal di tabel guru yang diurutkan sesuai dengan nama dari A - Z :

mysql> select*from guru order by nama_guru ASC;
+-----------+-----------+---------------+-------------+
| kode_guru | nama_guru | jenis_kelamin | alamat_guru |
+-----------+-----------+---------------+-------------+
| KG002     | Amelia    | P             | Jepara      |
| KG003     | Angel     | P             | Jepara      |
| KG007     | Dewi      | P             | Bangsri     |
| KG001     | Khoirudin | L             | Jepara      |
| KG006     | Pujiono   | L             | Mlonggo     |
| KG005     | Putri     | P             | Bangsri     |
| KG004     | Sulistiyo | L             | Pakis Aji   |
| KG010     | Susan     | P             | Bangsri     |
| KG009     | Yuniar    | L             | Keling      |
| KG008     | Yusuf     | L             | Kembang     |
+-----------+-----------+---------------+-------------+
10 rows in set (0.07 sec)

mysql> UPDATE guru SET alamat_guru='Kudus' ORDER BY nama_guru ASC LIMIT 4;
Query OK, 4 rows affected (0.43 sec)
Rows matched: 4  Changed: 4  Warnings: 0

mysql> select*from guru order by nama_guru ASC;
+-----------+-----------+---------------+-------------+
| kode_guru | nama_guru | jenis_kelamin | alamat_guru |
+-----------+-----------+---------------+-------------+
| KG002     | Amelia    | P             | Kudus       |
| KG003     | Angel     | P             | Kudus       |
| KG007     | Dewi      | P             | Kudus       |
| KG001     | Khoirudin | L             | Kudus       |
| KG006     | Pujiono   | L             | Mlonggo     |
| KG005     | Putri     | P             | Bangsri     |
| KG004     | Sulistiyo | L             | Pakis Aji   |
| KG010     | Susan     | P             | Bangsri     |
| KG009     | Yuniar    | L             | Keling      |
| KG008     | Yusuf     | L             | Kembang     |
+-----------+-----------+---------------+-------------+
10 rows in set (0.00 sec)

Dari hasil statement query diatas kita bisa mengubah 4 data alamat_guru menjadi kudus semua di awal tabel guru dalam satu statement.

Cara Mengubah/Mengupdate Seluruh Field/Kolom di Tabel MySQL

Misalkan saya ingin mengubah semua data alamat yang ada di tabel guru alamatnya saya rubah menjadi bangsri semua maka query yang akan kita gunakan sebagai berikut :

mysql> select*from guru;
+-----------+-----------+---------------+-------------+
| kode_guru | nama_guru | jenis_kelamin | alamat_guru |
+-----------+-----------+---------------+-------------+
| KG001     | Khoirudin | L             | Kudus       |
| KG002     | Amelia    | P             | Kudus       |
| KG003     | Angel     | P             | Kudus       |
| KG004     | Sulistiyo | L             | Pakis Aji   |
| KG005     | Putri     | P             | Bangsri     |
| KG006     | Pujiono   | L             | Mlonggo     |
| KG007     | Dewi      | P             | Kudus       |
| KG008     | Yusuf     | L             | Kembang     |
| KG009     | Yuniar    | L             | Keling      |
| KG010     | Susan     | P             | Bangsri     |
+-----------+-----------+---------------+-------------+
10 rows in set (0.00 sec)

mysql> update guru set alamat_guru='Bangsri';
Query OK, 8 rows affected (0.09 sec)
Rows matched: 10  Changed: 8  Warnings: 0

mysql> select*from guru;
+-----------+-----------+---------------+-------------+
| kode_guru | nama_guru | jenis_kelamin | alamat_guru |
+-----------+-----------+---------------+-------------+
| KG001     | Khoirudin | L             | Bangsri     |
| KG002     | Amelia    | P             | Bangsri     |
| KG003     | Angel     | P             | Bangsri     |
| KG004     | Sulistiyo | L             | Bangsri     |
| KG005     | Putri     | P             | Bangsri     |
| KG006     | Pujiono   | L             | Bangsri     |
| KG007     | Dewi      | P             | Bangsri     |
| KG008     | Yusuf     | L             | Bangsri     |
| KG009     | Yuniar    | L             | Bangsri     |
| KG010     | Susan     | P             | Bangsri     |
+-----------+-----------+---------------+-------------+
10 rows in set (0.00 sec)

mysql>

Note : Coba perhatikan Statement Query di atas. Query tersebut tanpa menggunakan kondisi WHERE jadi hati-hatilah kalian saat membuat sebuah query update harus menggunakan statement WHERE jika tidak maka hasilnya akan seperti diatas semua data akan berubah.


Please write your comments