SQL UPDATE Statement adalah query sql yang berfungsi untuk mengupdate atau mengubah atau memodifikasi data yang terdapat di sebuah tabel.
Kalimat mudah untuk mendeskripsikan query SQL UPDATE yakni sebagai berikut.
Tolong update data di tabel ini, set kolom tertentu dengan nilai berikut apabila kondisinya seperti ini.
Adapun sintaks untuk melakukan SQL UPDATE statement adalah sebagai berikut.
Sintaks SQL UPDATE
UPDATE
nama_tabel
SET
kolom1 = nilai1, kolom2 = nilai2, ...
WHERE
kondisinya;
Seperti telah disinggung di materi sebelumnya mengenai SQL WHERE clause, bahwa keyword WHERE bisa diterapkan dalam query UPDATE.
Bahkan sangat ditekankan untuk menambahkan kata kunci WHERE dalam SQL UPDATE statement untuk menspesifikan data yang mana yang harus diupdate.
Jika tidak dispesifikan, maka semua data di kolom yang diset pada tabel akan diupdate dengan nilai yang sama.
Agar bisa mendapatkan pemahaman, mari kita praktekan ke kasus pada tabel students
berikut.
id | name | class |
---|---|---|
1 | Dadan | X IPA 1 |
2 | Doni | X IPA 2 |
3 | Caca | X IPA 3 |
4 | Lala | X IPA 1 |
5 | Indra | X IPA 2 |
6 | Dadan | X IPA 3 |
7 | Ucup | X IPA 4 |
8 | Erik | X IPA 1 |
9 | Tono | X IPA 4 |
10 | Tini | X IPA 4 |
Implementasi SQL UPDATE
Dalam implementasi SQL UPDATE statement ini mari kita coba lakukan update terhadap tabel students
dengan id = 4, yang mana name nya jadi Nana dan class nya jadi X IPA 2. Query sql nya akan seperti berikut.
UPDATE
students
SET
name = 'Nana', class = 'X IPA 2'
WHERE
id = 4;
Messages:
UPDATE 1
Query returned successfully in 195 msec.
Seperti halnya SQL INSERT INTO, query UPDATE juga tidak mengembalikan output ketika dijalankan, melainkan mengembalikan messages. Pada contoh di atas, kita telah berhasil melakukan modifikasi 1 record.
Mari kita cek secara spesifik data dengan id = 4 menggunakan query sql berikut.
SELECT
*
FROM
students
WHERE
id = 4;
Output:
id | name | class |
---|---|---|
4 | Nana | X IPA 2 |
Dari output di atas, tampak bahwa data di tabel students
dengan id = 4 sudah terupdate sesuai dengan perintah yang kita berikan.
SQL UPDATE Tanpa Spesifik Kondisi
Di awal sudah kita singgung bahwa SQL UPDATE bisa dilakukan tanpa menyertakan spesifik kondisi atau dengan kata lain tanpa menyertakan keyword WHERE clause.
Di sini kita akan coba praktekan untuk melihat betapa bahayanya melakukan query UPDATE tanpa keyword WHERE.
Misalkan, berdasarkan kondisi tabel saat ini, kita bermaksud untuk mengembalikan data tabel students
dengan id = 4 menjadi seperti sebelumnya name = Lala dan class = X IPA 1 tapi lupa menspesifikan kata kunci WHERE clause.
UPDATE
students
SET
name = 'Lala', class = 'X IPA 1'
Messages:
UPDATE 10
Query returned successfully in 147 msec.
Dari messages di atas terlihat bahwa kita berhasil mengubah 10 records data di tabel. Mari kita cek tabel students
saat ini.
SELECT
*
FROM
students;
Output:
id | name | class |
---|---|---|
1 | Lala | X IPA 1 |
2 | Lala | X IPA 1 |
3 | Lala | X IPA 1 |
5 | Lala | X IPA 1 |
6 | Lala | X IPA 1 |
7 | Lala | X IPA 1 |
8 | Lala | X IPA 1 |
9 | Lala | X IPA 1 |
10 | Lala | X IPA 1 |
4 | Lala | X IPA 1 |
Booommm... semua records data di kolom name berubah menjadi Lala, dan kolom class berubah menjadi X IPA 1. Di sinilah letak bahaya jika query SQL UPDATE tidak disertai dengan keyword WHERE clause.
Sehingga, perlu berhati-hati jika hendak melakukan update data, jika memang hendak merubah semua nilai di kolom tertentu dengan nilai yang sama, maka silahkan lakukan query UPDATE tanpa spesifik kondisi.