Hai! Bertemu lagi di lanjutan Tutorial MySQL Dasar, pada tutorial ini saya akan menjelaskan Bagaimana Cara Mengubah (update) Data di Tabel MySQL. di materi sebelumnya kita juga sudah belajar Bagaimana Cara Membuat Auto Icrement di Tabel MySQL.
Jika teman-teman masih pemula, silahkan pelajari materi-materi sebelumnya dan pantau terus update Tutorial MySQL Dasar di website mandankoding.com, ya!
Query UPDATE MySQL
Perintah Update di gunakan untuk memodifikasi/mengubah data yang ada di kolom (record) tabel MySQL
Query Update MySQL:
UPDATE nama_tabel SET kolom1= nilai_kolom1, kolom2=nilai_kolom2, …. WHERE kondisi;
Keterangan:
- nama_tabelmerupakan nama tabel yang kolomnya akan di ubah
- kolom1merupakan nama kolom yang ingin di ubah nilainya
- nilai_kolom1merupakan nilai baru yang akan menggantikan nilai sebelumnya pada kolom1
- UPDATE biodata_mahasiswa SET alamat = 'Palembang', kode_pos = '98989' WHERE id_mhs = 3; 1yang akan menentukan kolom dari baris data mana yang akan di ubah
Catatan:
Berhati-hatilah dalam mengubah nilai kolom di dalam tabel MySQL. Gunakan klausa UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;
2di dalam perintah UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;
3, karena klausa UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;
2akan menentukan UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;
5dari baris data mana yang akan diubah. Jika kita mengabaikan UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;
2, maka semua nilai kolom yang ada dalam tabel akan terupdate.
Sekarang, kita akan mencoba mengubah beberapa baris data dari tabel UPDATE biodata_mahasiswa SET alamat = 'Palembang', kode_pos = '98989' WHERE id_mhs = 3; 7di bawah ini!
id_mhsnimnama_depannama_belakangalamatkode_pos1191100111ZoeMartinJakarta Barat112312191100112DwiJaneJakarta Timur909023191100113AyraMyshaMedan808044191100114AzkaPutraPadang999935191100115TyasMirandaPadang999936191100116KayleJanePadang99993Keterangan:
- Kolom UPDATE biodata_mahasiswa SET alamat = 'Palembang', kode_pos = '98989' WHERE id_mhs = 3; 8di set sebagai kolom Primary Key.
Cara Mengubah Data di Tabel MySQL
Kita akan mengubah baris data dari tabel UPDATE biodata_mahasiswa SET alamat = 'Palembang', kode_pos = '98989' WHERE id_mhs = 3; 7dimana MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa; +--------+-----------+------------+---------------+---------------+----------+ | id_mhs | nim | nama_depan | nama_belakang | alamat | kode_pos | +--------+-----------+------------+---------------+---------------+----------+ | 1 | 191100111 | Zoe | Martin | Jakarta Barat | 11231 | | 2 | 191100112 | Dwi | Jane | Jakarta Timur | 90902 | | 3 | 191100113 | Ayra | Mysha | Palembang | 98989 | | 4 | 191100114 | Azka | Putra | Padang | 99993 | | 5 | 191100115 | Tyas | Miranda | Padang | 99993 | | 6 | 191100116 | Kayle | Jane | Padang | 99993 | +--------+-----------+------------+---------------+---------------+----------+ 6 rows in set (0.001 sec) 0
Perhatikan contoh berikut:
UPDATE biodata_mahasiswa SET alamat = 'Palembang', kode_pos = '98989' WHERE id_mhs = 3;
Untuk memastikan apakah data benar-benar terupdate, gunakan query MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa; +--------+-----------+------------+---------------+---------------+----------+ | id_mhs | nim | nama_depan | nama_belakang | alamat | kode_pos | +--------+-----------+------------+---------------+---------------+----------+ | 1 | 191100111 | Zoe | Martin | Jakarta Barat | 11231 | | 2 | 191100112 | Dwi | Jane | Jakarta Timur | 90902 | | 3 | 191100113 | Ayra | Mysha | Palembang | 98989 | | 4 | 191100114 | Azka | Putra | Padang | 99993 | | 5 | 191100115 | Tyas | Miranda | Padang | 99993 | | 6 | 191100116 | Kayle | Jane | Padang | 99993 | +--------+-----------+------------+---------------+---------------+----------+ 6 rows in set (0.001 sec) 1
MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa; +--------+-----------+------------+---------------+---------------+----------+ | id_mhs | nim | nama_depan | nama_belakang | alamat | kode_pos | +--------+-----------+------------+---------------+---------------+----------+ | 1 | 191100111 | Zoe | Martin | Jakarta Barat | 11231 | | 2 | 191100112 | Dwi | Jane | Jakarta Timur | 90902 | | 3 | 191100113 | Ayra | Mysha | Palembang | 98989 | | 4 | 191100114 | Azka | Putra | Padang | 99993 | | 5 | 191100115 | Tyas | Miranda | Padang | 99993 | | 6 | 191100116 | Kayle | Jane | Padang | 99993 | +--------+-----------+------------+---------------+---------------+----------+ 6 rows in set (0.001 sec)
Catatan:
Disarankan mengubah baris data di dalam tabel MySQL berdasarkan kondisi dari kolom primary key, karena jika kita mengubah data berdasarkan MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa;
+--------+-----------+------------+---------------+---------------+----------+
| id_mhs | nim | nama_depan | nama_belakang | alamat | kode_pos |
+--------+-----------+------------+---------------+---------------+----------+
| 1 | 191100111 | Zoe | Martin | Jakarta Barat | 11231 |
| 2 | 191100112 | Dwi | Jane | Jakarta Timur | 90902 |
| 3 | 191100113 | Ayra | Mysha | Palembang | 98989 |
| 4 | 191100114 | Azka | Putra | Padang | 99993 |
| 5 | 191100115 | Tyas | Miranda | Padang | 99993 |
| 6 | 191100116 | Kayle | Jane | Padang | 99993 |
+--------+-----------+------------+---------------+---------------+----------+
6 rows in set (0.001 sec)
2 (bukan kolom primary key), takutnya data yang ada di kolom MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa;
+--------+-----------+------------+---------------+---------------+----------+
| id_mhs | nim | nama_depan | nama_belakang | alamat | kode_pos |
+--------+-----------+------------+---------------+---------------+----------+
| 1 | 191100111 | Zoe | Martin | Jakarta Barat | 11231 |
| 2 | 191100112 | Dwi | Jane | Jakarta Timur | 90902 |
| 3 | 191100113 | Ayra | Mysha | Palembang | 98989 |
| 4 | 191100114 | Azka | Putra | Padang | 99993 |
| 5 | 191100115 | Tyas | Miranda | Padang | 99993 |
| 6 | 191100116 | Kayle | Jane | Padang | 99993 |
+--------+-----------+------------+---------------+---------------+----------+
6 rows in set (0.001 sec)
3di dalam tabel terdapat data yang sama, sehingga data dengan MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa;
+--------+-----------+------------+---------------+---------------+----------+
| id_mhs | nim | nama_depan | nama_belakang | alamat | kode_pos |
+--------+-----------+------------+---------------+---------------+----------+
| 1 | 191100111 | Zoe | Martin | Jakarta Barat | 11231 |
| 2 | 191100112 | Dwi | Jane | Jakarta Timur | 90902 |
| 3 | 191100113 | Ayra | Mysha | Palembang | 98989 |
| 4 | 191100114 | Azka | Putra | Padang | 99993 |
| 5 | 191100115 | Tyas | Miranda | Padang | 99993 |
| 6 | 191100116 | Kayle | Jane | Padang | 99993 |
+--------+-----------+------------+---------------+---------------+----------+
6 rows in set (0.001 sec)
3yang sama semuanya akan terupdate. Sedangkan mengubah data berdasarkan data unik (primary key) dipastikan tidak ada data yang sama di dalam kolom tersebut.
Cara Mengubah Multiple Kolom di Tabel MySQL
Dengan menggunakan klausa WHERE kita dapat mengubah beberapa kolom data sekaligus, pada query di bawah ini kita akan mengubah nilai dari kolom MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa; +--------+-----------+------------+---------------+---------------+----------+ | id_mhs | nim | nama_depan | nama_belakang | alamat | kode_pos | +--------+-----------+------------+---------------+---------------+----------+ | 1 | 191100111 | Zoe | Martin | Jakarta Barat | 11231 | | 2 | 191100112 | Dwi | Jane | Jakarta Timur | 90902 | | 3 | 191100113 | Ayra | Mysha | Palembang | 98989 | | 4 | 191100114 | Azka | Putra | Padang | 99993 | | 5 | 191100115 | Tyas | Miranda | Padang | 99993 | | 6 | 191100116 | Kayle | Jane | Padang | 99993 | +--------+-----------+------------+---------------+---------------+----------+ 6 rows in set (0.001 sec) 5untuk data yang beralamat di Padang.
Perhatikan contoh berikut:
UPDATE biodata_mahasiswa SET kode_pos = '00000' WHERE alamat = 'Padang';
Jadi semua yang beralamat di padang akan kita ubah kode pos nya menjadi 00000
Untuk memastikan apakah data benar-benar terupdate, gunakan query MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa; +--------+-----------+------------+---------------+---------------+----------+ | id_mhs | nim | nama_depan | nama_belakang | alamat | kode_pos | +--------+-----------+------------+---------------+---------------+----------+ | 1 | 191100111 | Zoe | Martin | Jakarta Barat | 11231 | | 2 | 191100112 | Dwi | Jane | Jakarta Timur | 90902 | | 3 | 191100113 | Ayra | Mysha | Palembang | 98989 | | 4 | 191100114 | Azka | Putra | Padang | 99993 | | 5 | 191100115 | Tyas | Miranda | Padang | 99993 | | 6 | 191100116 | Kayle | Jane | Padang | 99993 | +--------+-----------+------------+---------------+---------------+----------+ 6 rows in set (0.001 sec) 1
MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa; +--------+-----------+------------+---------------+---------------+----------+ | id_mhs | nim | nama_depan | nama_belakang | alamat | kode_pos | +--------+-----------+------------+---------------+---------------+----------+ | 1 | 191100111 | Zoe | Martin | Jakarta Barat | 11231 | | 2 | 191100112 | Dwi | Jane | Jakarta Timur | 90902 | | 3 | 191100113 | Ayra | Mysha | Palembang | 98989 | | 4 | 191100114 | Azka | Putra | Padang | 00000 | | 5 | 191100115 | Tyas | Miranda | Padang | 00000 | | 6 | 191100116 | Kayle | Jane | Padang | 00000 | +--------+-----------+------------+---------------+---------------+----------+ 6 rows in set (0.001 sec)
Pada tabel di atas, semua nilai kolom MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa; +--------+-----------+------------+---------------+---------------+----------+ | id_mhs | nim | nama_depan | nama_belakang | alamat | kode_pos | +--------+-----------+------------+---------------+---------------+----------+ | 1 | 191100111 | Zoe | Martin | Jakarta Barat | 11231 | | 2 | 191100112 | Dwi | Jane | Jakarta Timur | 90902 | | 3 | 191100113 | Ayra | Mysha | Palembang | 98989 | | 4 | 191100114 | Azka | Putra | Padang | 99993 | | 5 | 191100115 | Tyas | Miranda | Padang | 99993 | | 6 | 191100116 | Kayle | Jane | Padang | 99993 | +--------+-----------+------------+---------------+---------------+----------+ 6 rows in set (0.001 sec) 5yang beralamat di Padang telah diubah nilainya menjadi 00000
Perhatian!
Berhati-hatilah dalam mengubah data, jika sampai menghilangkan klausa UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;
2di dalam perintah UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;
3, maka semua data di kolom yang ingin dirubah akan ikut terupdate.
Perhatikan contoh berikut:
UPDATE biodata_mahasiswa SET alamat = 'Jakarta';
Hasil query di atas:
MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa; +--------+-----------+------------+---------------+---------+----------+ | id_mhs | nim | nama_depan | nama_belakang | alamat | kode_pos | +--------+-----------+------------+---------------+---------+----------+ | 1 | 191100111 | Zoe | Martin | Jakarta | 11231 | | 2 | 191100112 | Dwi | Jane | Jakarta | 90902 | | 3 | 191100113 | Ayra | Mysha | Jakarta | 98989 | | 4 | 191100114 | Azka | Putra | Jakarta | 00000 | | 5 | 191100115 | Tyas | Miranda | Jakarta | 00000 | | 6 | 191100116 | Kayle | Jane | Jakarta | 00000 | +--------+-----------+------------+---------------+---------+----------+ 6 rows in set (0.001 sec)
Dengan mengabaikan klausa WHERE, semua nilai yang ada di kolom UPDATE biodata_mahasiswa SET kode_pos = '00000' WHERE alamat = 'Padang'; 0diubah menjadi Jakarta
Setelah memahami Bagaimana Cara Mengubah (update) Data di Tabel MySQL, pada materi selanjutnya akan kita bahas Bagaimana Cara Menghapus (delete) Data di Tabel MySQL