Artikel ini berisi UPDATE
SQL dasar pernyataan yang dapat digunakan pemula untuk memperbarui data dalam tabel database mereka.
Memperbarui Satu Kolom
Berikut adalah contoh dasar dari SQL UPDATE
pernyataan.
UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;
Dalam hal ini kami memperbarui nilai dari satu kolom yang disebut LastName
.
UPDATE
pernyataan dimulai dengan UPDATE
, diikuti dengan nama tabel (yaitu tabel yang berisi data yang ingin Anda perbarui).
Kemudian memiliki SET
kata kunci, diikuti oleh kolom yang ingin Anda perbarui dan nilai baru, dipisahkan dengan tanda sama dengan (=
) operator.
Anda harus selalu menyertakan WHERE
klausa, kecuali jika Anda ingin memperbarui semua baris dengan nilai yang sama.
Ya, Anda membacanya dengan benar. Menghilangkan WHERE
klausa akan memperbarui semua baris dengan nilai yang sama.
Sebagian besar Sistem Manajemen Basis Data (DBMS) memiliki berbagai opsi lain yang dapat Anda gunakan dengan UPDATE
pernyataan, tetapi yang tercantum di sini adalah yang paling umum digunakan.
Perbarui Beberapa Kolom
Untuk memperbarui beberapa kolom, pisahkan setiap pasangan kolom/nilai dengan koma.
UPDATE Owners
SET LastName = 'Stallone',
Email = '[email protected]'
WHERE OwnerId = 3;
Contoh
Dalam contoh ini, kami memperbarui tabel.
Pertama-tama, mari kita pilih isi tabel.
SELECT * FROM Owners;
Hasil:
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 1 | Homer | Connery | (308) 555-0100 | [email protected] | | 2 | Bart | Pitt | (231) 465-3497 | [email protected] | | 3 | Nancy | Simpson | (489) 591-0408 | NULL | | 4 | Boris | Trump | (349) 611-8908 | NULL | | 5 | Woody | Eastwood | (308) 555-0112 | [email protected] | +-----------+-------------+------------+----------------+-------------------+
Nancy Simpson baru saja menikah dan mengubah nama belakangnya, jadi kami akan memperbarui Simpson
ke Stallone
.
Sekarang mari kita perbarui kolom itu, lalu pilih tabel lagi.
UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;
SELECT * FROM Owners;
Hasil:
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 1 | Homer | Connery | (308) 555-0100 | [email protected] | | 2 | Bart | Pitt | (231) 465-3497 | [email protected] | | 3 | Nancy | Stallone | (489) 591-0408 | NULL | | 4 | Boris | Trump | (349) 611-8908 | NULL | | 5 | Woody | Eastwood | (308) 555-0112 | [email protected] | +-----------+-------------+------------+----------------+-------------------+
Kita dapat melihat bahwa kolom telah diperbarui seperti yang ditentukan.
Perbarui Beberapa Kolom
Berikut ini contoh memperbarui beberapa kolom.
UPDATE Owners
SET LastName = 'Biden',
Email = '[email protected]'
WHERE OwnerId = 4;
SELECT * FROM Owners;
Hasil:
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 1 | Homer | Connery | (308) 555-0100 | [email protected] | | 2 | Bart | Pitt | (231) 465-3497 | [email protected] | | 3 | Nancy | Stallone | (489) 591-0408 | NULL | | 4 | Boris | Biden | (349) 611-8908 | [email protected] | | 5 | Woody | Eastwood | (308) 555-0112 | [email protected] | +-----------+-------------+------------+----------------+-------------------+
Dalam hal ini kami memperbarui nama belakang dan alamat email pemilik 4.
Hati-hati! Lupa kode WHERE
Klausa
UPDATE
pernyataan bisa menjadi pernyataan yang sangat berbahaya jika Anda tidak menjaga akal Anda tentang Anda. Jika Anda menghilangkan WHERE
klausa, Anda akan memperbarui semua baris dalam tabel.
Mari kita lakukan contoh sebelumnya lagi, tapi kali ini kita lupa untuk memasukkan WHERE
klausa.
UPDATE Owners
SET LastName = 'Stallone';
SELECT * FROM Owners;
Hasil:
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 1 | Homer | Stallone | (308) 555-0100 | [email protected] | | 2 | Bart | Stallone | (231) 465-3497 | [email protected] | | 3 | Nancy | Stallone | (489) 591-0408 | NULL | | 4 | Boris | Stallone | (349) 611-8908 | NULL | | 5 | Woody | Stallone | (308) 555-0112 | [email protected] | +-----------+-------------+------------+----------------+-------------------+
Ups! Sekarang nama belakang semua orang adalah Stallone!
Mungkin ada saat-saat di mana Anda sebenarnya berniat untuk memperbarui semua baris dalam tabel, tetapi waktu tersebut biasanya cukup jarang.
Saat Anda menjalankan kueri ad hoc, Anda mungkin ingin menjalankan SELECT
quick cepat pernyataan yang menggunakan kondisi yang sama dari UPDATE
your Anda operasi sebelum benar-benar menjalankan UPDATE
operasi.
SELECT * FROM Owners
WHERE OwnerId = 4;
Hasil:
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 4 | Boris | Biden | (349) 611-8908 | [email protected] | +-----------+-------------+------------+----------------+-------------------+
Itu menunjukkan kepada kita baris persis yang akan diperbarui. Setelah kami puas bahwa itu mengembalikan baris yang benar, kami dapat melanjutkan dan menggunakan WHERE
yang sama klausa dalam UPDATE
pernyataan.