Update & Delete Data: Kuasai Perintah Penting di Database MySQL (Part 6)

Rifqi An Rifqi An
Maret 01, 2026


Halo sobat developer, balik lagi bareng aku di seri tutorial Belajar Database MySQL yang super duper asyik ini! Gimana nih kabar ngodingnya? Semoga selalu lancar jaya ya, nggak ketemu bug yang bikin kepala botak. Nah, di bagian keenam ini, kita bakal masuk ke materi yang krusial banget: mengubah dan menghapus data. Pernah nggak sih pas lagi ngoding, tiba-tiba sadar ada data yang salah input? Atau project kamu butuh fitur hapus akun? Nah, inilah saatnya kita berkenalan dengan dua perintah sakti: UPDATE dan DELETE. Siap-siap, karena sedikit salah ketik, data bisa langsung ambyar! Penasaran gimana caranya biar aman dan sukses? Yuk, langsung gas!

Daftar Isi

UPDATE Data: Saatnya Mengubah Takdir!

Kadang, namanya juga hidup, ada aja yang nggak sesuai rencana. Data yang udah masuk database pun bisa butuh revisi. Misalnya, harga produk berubah, status pesanan ganti, atau alamat user salah ketik. Daripada nangis bombay, mending kita pakai perintah UPDATE buat ngubah data yang ada.

Sintaks Dasar Perintah UPDATE

Sintaksnya gampang diingat kok, mirip sama kita update status di sosmed:


UPDATE nama_tabel
SET kolom1 = nilai_baru1, kolom2 = nilai_baru2, ...
WHERE kondisi;

Gimana penjelasannya?

  • nama_tabel: Nama tabel yang datanya mau kamu ubah.
  • SET: Ini buat ngasih tau kolom mana yang mau diubah dan jadi nilai apa. Kamu bisa ubah satu kolom atau banyak sekaligus.
  • WHERE: NAH, INI PENTING BANGET! Ini kuncinya biar kamu cuma ngubah data yang spesifik. Kalo kamu lupa pake WHERE, siap-siap aja semua data di tabel itu berubah! Warning: Developer bertanggung jawab penuh atas konsekuensi lupa WHERE!

Contoh Penggunaan UPDATE

Misalnya kita punya tabel mahasiswa kayak gini:


+-----+---------------+-------------------+---------------------+
| id  | nama          | email             | jurusan             |
+-----+---------------+-------------------+---------------------+
| 1   | Budi Santoso  | budi@example.com  | Teknik Informatika  |
| 2   | Ani Wijaya    | ani@example.com   | Sistem Informasi    |
| 3   | Caca Handika  | caca@example.com  | Teknik Informatika  |
+-----+---------------+-------------------+---------------------+

Oke, kasus pertama: Budi Santoso baru sadar emailnya salah ketik. Seharusnya budi.s@example.com. Gimana cara ngubahnya?


UPDATE mahasiswa
SET email = 'budi.s@example.com'
WHERE id = 1;

Setelah di-update, tabelnya jadi:


+-----+---------------+--------------------+---------------------+
| id  | nama          | email              | jurusan             |
+-----+---------------+--------------------+---------------------+
| 1   | Budi Santoso  | budi.s@example.com | Teknik Informatika  |
| 2   | Ani Wijaya    | ani@example.com    | Sistem Informasi    |
| 3   | Caca Handika  | caca@example.com   | Teknik Informatika  |
+-----+---------------+--------------------+---------------------+

Mantap! Nah, gimana kalo ternyata semua mahasiswa jurusan "Teknik Informatika" pindah jurusan ke "Rekayasa Perangkat Lunak" (misalnya kampus baru buka program studi baru)? Bisa banget pakai satu perintah:


UPDATE mahasiswa
SET jurusan = 'Rekayasa Perangkat Lunak'
WHERE jurusan = 'Teknik Informatika';

Hasilnya:


+-----+---------------+--------------------+--------------------------+
| id  | nama          | email              | jurusan                  |
+-----+---------------+--------------------+--------------------------+
| 1   | Budi Santoso  | budi.s@example.com | Rekayasa Perangkat Lunak |
| 2   | Ani Wijaya    | ani@example.com    | Sistem Informasi         |
| 3   | Caca Handika  | caca@example.com   | Rekayasa Perangkat Lunak |
+-----+---------------+--------------------+--------------------------+

Keren kan? Tapi ingat, selalu cek kondisi WHERE-nya ya!

Pentingnya Klausa WHERE: Penjaga Gerbang Database

Serius, ini adalah bagian paling krusial di artikel ini! Lupa WHERE saat UPDATE atau DELETE itu ibarat kamu nge-deploy kode ke produksi tanpa dites. Bisa-bisa data kamu "rusak" atau "hilang" massal! Auto-panik mode on.

Klausa WHERE itu berfungsi sebagai filter. Dia cuma akan mengizinkan perubahan atau penghapusan pada baris data yang memenuhi kondisi yang kamu berikan. Jadi, selalu pastikan kamu tahu persis data mana yang mau kamu sentuh.

Tips receh: Sebelum menjalankan perintah UPDATE atau DELETE yang "berbahaya", coba dulu perintah SELECT dengan klausa WHERE yang sama. Pastikan hasil SELECT-nya sesuai dengan data yang mau kamu ubah/hapus. Kalo udah yakin, baru deh ganti SELECT jadi UPDATE atau DELETE. Ini trik standar programmer biar tidur nyenyak!

DELETE Data: Bye-bye Data Tak Berguna!

Selain mengubah, kadang kita juga butuh "buang" data yang sudah nggak relevan atau memang harus dihapus. Misalnya, akun yang sudah tidak aktif, transaksi fiktif, atau data uji coba yang sudah selesai. Untuk ini, kita pakai perintah DELETE.

Sintaks Dasar Perintah DELETE

Sintaksnya lebih simpel lagi dari UPDATE:


DELETE FROM nama_tabel
WHERE kondisi;

Penjelasannya:

  • DELETE FROM nama_tabel: Ini buat ngasih tau dari tabel mana data mau dihapus.
  • WHERE: Lagi-lagi, ini penyelamatmu! Tanpa WHERE, semua data di tabel itu bakal hilang tak bersisa. Kayak mantan, hilang begitu saja! Sakitnya tuh di sini... di database.

Contoh Penggunaan DELETE

Kita pakai tabel mahasiswa yang sudah di-update tadi:


+-----+---------------+--------------------+--------------------------+
| id  | nama          | email              | jurusan                  |
+-----+---------------+--------------------+--------------------------+
| 1   | Budi Santoso  | budi.s@example.com | Rekayasa Perangkat Lunak |
| 2   | Ani Wijaya    | ani@example.com    | Sistem Informasi         |
| 3   | Caca Handika  | caca@example.com   | Rekayasa Perangkat Lunak |
+-----+---------------+--------------------+--------------------------+

Misalnya, Caca Handika memutuskan untuk drop out (jangan dicontoh ya!). Kita harus hapus datanya dari tabel:


DELETE FROM mahasiswa
WHERE id = 3;

Sekarang tabel mahasiswa cuma berisi dua baris data:


+-----+---------------+--------------------+--------------------------+
| id  | nama          | email              | jurusan                  |
+-----+---------------+--------------------+--------------------------+
| 1   | Budi Santoso  | budi.s@example.com | Rekayasa Perangkat Lunak |
| 2   | Ani Wijaya    | ani@example.com    | Sistem Informasi         |
+-----+---------------+--------------------+--------------------------+

Voila! Caca Handika sudah nggak ada lagi di database kita. Good bye, Caca!

Pakai LIMIT? Biar Lebih Aman dan Terkendali!

Kadang, kita butuh menghapus atau mengupdate sejumlah data saja, bukan semuanya. MySQL punya fitur LIMIT yang bisa kita pakai bareng UPDATE atau DELETE. Ini sangat berguna di kasus tertentu, misalnya saat kamu ingin menghapus 100 data transaksi terlama atau mengupdate status 50 produk pertama yang terjual.

Sintaksnya:


UPDATE nama_tabel
SET kolom = nilai_baru
WHERE kondisi
LIMIT jumlah_baris;

DELETE FROM nama_tabel
WHERE kondisi
LIMIT jumlah_baris;

Perlu diingat, penggunaan LIMIT pada UPDATE dan DELETE sebaiknya dipadukan dengan ORDER BY untuk memastikan baris mana yang akan terpengaruh jika ada banyak baris yang memenuhi kondisi WHERE.

Contoh: Hapus 1 mahasiswa terlama (ID terkecil) yang jurusannya "Sistem Informasi":


DELETE FROM mahasiswa
WHERE jurusan = 'Sistem Informasi'
ORDER BY id ASC
LIMIT 1;

Dengan begini, Ani Wijaya yang id-nya 2 (dan jurusannya Sistem Informasi) akan terhapus. Kalau cuma pakai WHERE jurusan = 'Sistem Informasi' LIMIT 1, tanpa ORDER BY, MySQL mungkin menghapus baris mana saja yang kebetulan ditemukan pertama kali.

Bocoran Part Selanjutnya: Siap-siap Lebih Advance!

Gimana, makin jago kan ngoprek data di MySQL? Setelah kita kuasai basic SELECT, INSERT, UPDATE, dan DELETE, ke depannya kita bakal masuk ke dunia yang lebih seru dan advanced lagi. Kita akan bahas soal Trigger (event otomatis di database), Stored Procedure (fungsi yang disimpan di database), dan mungkin juga View (tabel virtual). Jadi, pantengin terus seri ini ya! Siapin ngopi dan cemilan buat sesi ngoding berikutnya!

Latihan Praktik: Kasus Kocak Database Ambyar!

Oke, biar makin nempel ilmunya, yuk kita coba studi kasus yang sedikit konyol tapi sering terjadi di dunia nyata (versi lebay-nya). Kamu adalah developer baru di "Toko Online Ngawur", sebuah e-commerce yang menjual barang-barang unik tapi sering salah data.

Diberikan tabel produk seperti ini:


CREATE TABLE produk (
    id_produk INT PRIMARY KEY AUTO_INCREMENT,
    nama_produk VARCHAR(100),
    harga DECIMAL(10, 2),
    stok INT,
    status ENUM('tersedia', 'habis', 'preorder')
);

INSERT INTO produk (nama_produk, harga, stok, status) VALUES
('Panci Ajaib', 150000.00, 10, 'tersedia'),
('Topi Anti-Galau', 50000.00, 5, 'tersedia'),
('Sepatu Terbang KW', 25000.00, 0, 'habis'),
('Buku Resep Nasi Goreng Kosong', 10000.00, 20, 'tersedia'),
('Kopi Luwak Instant (Expired)', 5000.00, 50, 'tersedia'),
('Celana Dalam Superman', 75000.00, 2, 'preorder');

Sekarang, jalankan perintah SQL untuk menyelesaikan masalah-masalah di bawah ini:

  1. Bos kamu marah-marah karena "Kopi Luwak Instant (Expired)" masih terdaftar "tersedia". Padahal udah jelas-jelas expired! Ubah statusnya menjadi 'habis' dan harganya jadi 'Gratis' (0.00) biar cepet ludes!
  2. Ternyata, stok "Topi Anti-Galau" ada salah hitung. Seharusnya stoknya bukan 5, tapi 15. Ubah stoknya.
  3. Ada produk "Sepatu Terbang KW" yang stoknya udah nol dan statusnya 'habis'. Daripada menuh-menuhin database, hapus saja produk ini.
  4. Toko Online Ngawur baru dapat ide marketing gila. Semua produk yang namanya mengandung kata "Kosong" akan dihapus dari peredaran karena dianggap produk gagal dan bikin sedih pelanggan. Hapus semua produk yang nama_produk-nya mengandung kata 'Kosong'. (Hint: gunakan operator LIKE)

Coba kerjakan ya! Jangan takut salah, namanya juga belajar. Kalo ada error, itu tandanya kamu makin dekat sama solusi (atau makin dekat sama meja ngopi). Semangat!

Bagikan Artikel Ini