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 email 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.