Mengubah & Hapus Data — SQL

Gunakan UPDATE untuk mengubah data dan DELETE untuk menghapus data. UPDATE — mengubah data: UPDATE users SET age = 26 WHERE id = 1; -- Ubah umur user dengan…

UPDATE mengganti isi kolom di baris yang sudah ada, dan DELETE membuang baris dari tabel. Bayangin buku nilai di meja guru. Mengganti nilai Rizky dari 85 jadi 90 itu UPDATE. Mencoret satu siswa yang pindah sekolah itu DELETE. Dan sebelum mencoret, guru harus tahu persis baris mana: itu tugas WHERE. Bedanya dengan buku, database gak bertanya "yakin?" dan gak punya tombol batal.

🧪 Tebakan cepat: UPDATE students SET grade = 90; (tanpa WHERE) di tabel 4 siswa mengubah berapa baris? Tebak dulu, jawabannya ada di bagian "Tanpa WHERE: semua baris kena".

UPDATE: ganti nilai di baris yang dipilih

Tabel students di Lab dan latihan:

id name grade city
1 Dewi 90 Jakarta
2 Rizky 85 Bandung
3 Maya 92 Surabaya
4 Dimas 82 Semarang
UPDATE students
SET grade = 90
WHERE name = 'Rizky';

SQLite melaporkan 1 baris berubah: grade Rizky sekarang 90, tiga baris lain tetap.

Nilai baru boleh dihitung dari nilai lama: SET grade = grade + 5 menambah 5 ke nilai yang sekarang.

DELETE: buang baris yang dipilih

DELETE FROM students
WHERE city = 'Semarang';

SQLite melaporkan 1 baris berubah: Dimas hilang, tabelnya tinggal 3 baris.

Tanpa WHERE: semua baris kena

UPDATE students SET grade = 90;

SQLite melaporkan 4 baris berubah: semua siswa sekarang bernilai 90. Itu jawaban tebakannya. Gak ada error, gak ada peringatan. DELETE FROM students; sama saja: tabelnya kosong, 0 baris.

Kebiasaan yang menyelamatkan: tulis dulu SELECT dengan WHERE yang sama, jalankan, cek baris yang muncul. Kalau sudah benar, baru ganti SELECT * jadi DELETE (atau tulis UPDATE dengan WHERE itu).

SELECT * FROM students WHERE city = 'Semarang';  -- 1 baris: Dimas
DELETE FROM students WHERE city = 'Semarang';

💡 Beda SQLite, MySQL, dan PostgreSQL

⚠️ Jebakan yang sering ketemu

TL;DR: UPDATE tabel SET kolom = nilai WHERE syarat; mengganti nilai di baris yang cocok, DELETE FROM tabel WHERE syarat; membuang baris yang cocok. Tanpa WHERE, semua baris kena, tanpa error dan tanpa tombol batal. Teks pakai kutip tunggal. Cek dulu dengan SELECT ... WHERE yang sama, dan cek berapa baris yang berubah.

Yang akan kamu pelajari