Perintah UPDATE
📚 Pengenalan Perintah UPDATE
Perintah UPDATE digunakan untuk memperbarui data yang ada dalam tabel. Anda dapat memperbarui satu kolom atau beberapa kolom sekaligus.
Sintaks Dasar UPDATE
Sintaks dasar perintah UPDATE adalah:
UPDATE nama_tabel SET kolom1 = nilai1, kolom2 = nilai2, ... WHERE kondisi;
Peringatan: Jika Anda tidak menggunakan klausa WHERE dalam perintah UPDATE, semua baris dalam tabel akan diperbarui!
Contoh Penggunaan UPDATE
Misalkan kita memiliki tabel 'pelanggan' dengan data berikut:
| id | nama | kota | usia | |
|---|---|---|---|---|
| 1 | John Doe | john@example.com | Jakarta | 30 |
| 2 | Jane Smith | jane@example.com | Bandung | 25 |
| 3 | Bob Johnson | bob@example.com | Jakarta | 35 |
| 4 | Alice Brown | alice@example.com | Surabaya | 28 |
Memperbarui Satu Kolom
Untuk memperbarui email pelanggan dengan id 1:
UPDATE pelanggan SET email = 'john.doe@example.com' WHERE id = 1;
Memperbarui Beberapa Kolom
Untuk memperbarui email dan kota pelanggan dengan id 2:
UPDATE pelanggan SET email = 'jane.smith@example.com', kota = 'Yogyakarta' WHERE id = 2;
Memperbarui Beberapa Baris
Untuk memperbarui usia semua pelanggan dari Jakarta:
UPDATE pelanggan SET usia = usia + 1 WHERE kota = 'Jakarta';
UPDATE dengan Ekspresi
Anda dapat menggunakan ekspresi dalam perintah UPDATE:
-- Menambahkan 1 tahun ke usia semua pelanggan UPDATE pelanggan SET usia = usia + 1; -- Menggabungkan string UPDATE pelanggan SET email = CONCAT(nama, '@example.com') WHERE email IS NULL;
Catatan: Fungsi CONCAT mungkin sedikit berbeda tergantung pada sistem database yang digunakan. Misalnya, di SQL Server, Anda menggunakan operator + untuk menggabungkan string.
UPDATE dengan Subquery
Anda dapat menggunakan subquery dalam perintah UPDATE:
-- Memperbarui kota pelanggan berdasarkan id pelanggan dari tabel lain UPDATE pelanggan SET kota = (SELECT kota FROM kota_pelanggan WHERE id = pelanggan.id) WHERE id IN (SELECT id FROM kota_pelanggan);
UPDATE dengan JOIN
Beberapa sistem database mendukung penggunaan JOIN dalam perintah UPDATE:
-- Memperbarui tabel pelanggan berdasarkan data dari tabel lain UPDATE pelanggan INNER JOIN kota_pelanggan ON pelanggan.id = kota_pelanggan.id SET pelanggan.kota = kota_pelanggan.kota;
Catatan: Sintaks untuk UPDATE dengan JOIN mungkin berbeda tergantung pada sistem database yang digunakan.
UPDATE dengan Conditional Logic
Anda dapat menggunakan conditional logic dalam perintah UPDATE:
-- Memperbarui usia berdasarkan kondisi
UPDATE pelanggan
SET usia = CASE
WHEN usia < 18 THEN 18
WHEN usia > 65 THEN 65
ELSE usia
END;
UPDATE dengan LIMIT
Beberapa sistem database memungkinkan Anda membatasi jumlah baris yang diperbarui:
-- Memperbarui hanya 2 pelanggan pertama UPDATE pelanggan SET kota = 'Jakarta' LIMIT 2;
Catatan: Sintaks untuk UPDATE dengan LIMIT mungkin tidak didukung di semua sistem database. Di SQL Server, Anda dapat menggunakan TOP:
UPDATE TOP (2) pelanggan SET kota = 'Jakarta';
Coba Sendiri
Anda dapat mencoba kode SQL di atas di editor berikut:
💡 Tips Perintah UPDATE
Sebelum menjalankan perintah UPDATE pada data penting, selalu buat backup terlebih dahulu. Anda juga dapat menjalankan perintah SELECT dengan klausa WHERE yang sama untuk melihat baris mana yang akan diperbarui sebelum menjalankan perintah UPDATE.