Jika pada bab sebelumnya kita telah belajar cara menghidupkan basis data dengan mengisi data baru, maka di bab ini kita akan belajar bagaimana menjaga data tersebut agar tetap relevan dan akurat seiring berjalannya waktu. Di dunia nyata, data bersifat dinamis; mahasiswa bisa pindah alamat, nilai bisa diperbaiki, atau seorang dosen bisa naik jabatan.
Dalam siklus hidup informasi, fase pemeliharaan sering kali menjadi yang paling berisiko. Mengubah atau menghapus data menuntut ketelitian tingkat tinggi karena kesalahan kecil dalam penulisan perintah dapat berakibat fatal pada integritas seluruh sistem kampus. Pada bab ini, kita akan mempelajari bagaimana melakukan pembaruan informasi tanpa merusak data lainnya, serta bagaimana cara menghapus record yang sudah tidak diperlukan lagi dengan tetap mengikuti kaidah keamanan data.

Perintah UPDATE digunakan untuk mengubah nilai yang sudah tersimpan di dalam baris (record) pada suatu tabel. Bayangkan Anda sedang melakukan proses "koreksi" pada buku induk mahasiswa menggunakan pena; Anda tidak mengganti seluruh bukunya, melainkan hanya memperbaiki bagian yang salah atau sudah kadaluwarsa.
Sintaks dasar untuk mengubah data memerlukan instruksi yang spesifik mengenai tabel mana yang diubah, kolom mana yang nilainya diganti, dan yang paling penting: baris mana yang menjadi target.
UPDATE nama_tabel
SET kolom1 = nilai_baru, kolom2 = nilai_baru_lainnya
WHERE kondisi_tertentu;
Dalam Database Kampus, mari kita ambil contoh kasus di mana seorang mahasiswa bernama 'Budi Santoso' pindah tempat tinggal dan kita perlu memperbarui alamatnya di tabel mahasiswa.
UPDATE mahasiswa
SET alamat = 'Jl. Diponegoro No. 45, Surabaya'
WHERE nim = '20230001';
Jangan pernah menjalankan perintah UPDATE tanpa klausa WHERE kecuali Anda benar-benar sadar dengan apa yang Anda lakukan. Klausa WHERE berfungsi sebagai penapis atau filter. Tanpa WHERE, basis data akan menganggap perintah Anda berlaku untuk seluruh baris di dalam tabel tersebut.
Skenario Bencana:
Bayangkan Anda ingin mengubah status seorang mahasiswa menjadi 'Lulus', namun Anda lupa menuliskan WHERE nim = '...'.
UPDATE mahasiswa
SET status_mhs = 'Lulus';
Akibatnya, seluruh mahasiswa di kampus Anda (termasuk mahasiswa baru yang baru masuk satu hari) akan berstatus 'Lulus' di dalam sistem. Mengembalikan data yang sudah terlanjur "tertimpa" seperti ini sangatlah sulit dan sering kali membutuhkan proses restore dari backup yang memakan waktu.
Anda juga bisa melakukan pembaruan beberapa informasi sekaligus dalam satu perintah dengan memisahkan kolom menggunakan tanda koma. Misalnya, jika seorang mahasiswa tidak hanya pindah alamat tetapi juga memiliki IPK baru setelah semester berakhir:
UPDATE mahasiswa
SET alamat = 'Pasuruan', ipk_terakhir = 3.85
WHERE nim = '20230002';
DELETE)