Belajar Database MySQL #5: Operasi Update dan Delete (Ubah & Hapus)
Heru Iryanto
Teacher, Content Creator and Full-Stack DeveloperDi industri IT, ada sebuah “Meme/Banyolan Horor” yang sangat terkenal: “Ketika seorang Junior Programmer menjalankan perintah UPDATE di server production tanpa WHERE.” Apa menurut Anda yang akan terjadi?
Di materi ini, Anda akan memegang “Tombol Merah Nuklir” untuk menghancurkan atau mengubah data. Pelajari dengan sangat hati-hati!
1️⃣ UPDATE: Mengubah Data yang Sudah Ada
Mari kita anggap ada kesalahan data. Kita ingin mengubah tahun terbit “Harry Potter” dari 1997 menjadi 1998.
Kita menggunakan perintah dasar UPDATE tabel SET nama_kolom = 'nilai baru'.
🚫 KODE FATAL YANG MENGHANCURKAN PERUSAHAAN:
UPDATE tabel_buku SET tahun_terbit = 1998;
(JANGAN PERNAH MENGETIK INI! Kenapa? Karena Anda tidak menyebutkan BUKU MANA yang ingin diubah. Akibatnya, mesin MySQL akan menganggap Anda ingin mengubah tahun rilis SELURUH RIBUAN BUKU di perpustakaan menjadi tahun 1998 semua! Bencana total!)
✅ KODE YANG BENAR (MENGGUNAKAN WHERE):
Anda WAJIB menyebutkan KTP / NIK (Primary Key) dari baris data yang ingin Anda ubah secara spesifik. Di sinilah fungsi id_buku bersinar cerah.
Buka Tab SQL, ketikkan perintah yang benar ini:
UPDATE tabel_buku
SET tahun_terbit = 1998
WHERE id_buku = 1;
Analisis: “Tolong ubah tabel_buku, seting tahun_terbitnya menjadi 1998, HANYA PADA baris yang memiliki id_buku bernomor 1.”
Klik Go. Untuk membuktikannya, jalankan kembali mantra sakti SELECT * FROM tabel_buku;. Perhatikan tahun rilis Harry Potter pasti sudah berubah!
2️⃣ Mengubah Banyak Kolom Sekaligus
Bagaimana jika kita ingin mengubah tahun_terbit dan nama_penulis secara bersamaan? Pisahkan saja dengan tanda koma!
UPDATE tabel_buku
SET tahun_terbit = 2020, nama_penulis = 'Penulis Baru'
WHERE id_buku = 2;
(Buku Laskar Pelangi dengan ID 2 akan berubah rinciannya seketika).
3️⃣ DELETE: Memusnahkan Baris Data
Ada kalanya sebuah data harus dihapus selamanya dari database. (Misalnya, pengguna menekan tombol Deactivate Account di Facebook).
Rumusnya sangat sederhana: DELETE FROM nama_tabel.
🚫 KODE FATAL KEDUA:
DELETE FROM tabel_buku;
(Tanpa syarat, ini akan membersihkan/mengosongkan seluruh laci tabel. Jutaan data hilang dalam 1 detik).
✅ KODE YANG BENAR:
Lagi-lagi, gunakan WHERE dan sebutkan Primary Key-nya!
DELETE FROM tabel_buku WHERE id_buku = 2;
(Perintah ini akan secara presisi menghancurkan baris data Laskar Pelangi yang berada di ID 2, tanpa menyentuh buku lainnya).
🗽 Kesimpulan & Konsep “Soft Delete”
Selamat, Anda telah menguasai ke-empat operasi abadi di dunia komputasi: CRUD (Create, Read, Update, Delete)! (INSERT, SELECT, UPDATE, DELETE).
[!TIP] Fakta Industri: Di dunia nyata (seperti Gojek/Tokopedia), perusahaan hampir TIDAK PERNAH memakai perintah
DELETE. Data sangat berharga. Jika Anda membatalkan pesanan di GoFood, datanya tidak dihapusDELETE. Yang terjadi adalah mereka memakai perintahUPDATE, dan mereka menambahkan sebuah kolom baru bernamastatus_pesanan. Mereka meng-UPDATE status_pesanan = 'Dibatalkan'. Inilah yang disebut teknik Soft Delete (Hapus bohong-bohongan untuk riwayat (history)).
Mari kita kembangkan kemampuan melihat/membaca data (SELECT). Bagaimana jika kita memiliki jutaan data dan kita ingin mencari judul buku yang mengandung kata “Harry” saja? Pelajari mantranya di materi Mencari dan Menyaring Data.
