PERBARUI SQL
Pernyataan SQL UPDATE digunakan ke memperbarui dan memodifikasi catatan yang ada ke dalam database . Ini digunakan untuk mengubah catatan yang sudah ada yang disimpan dalam tabel di database. Perintah ini bekerja bersama dengan WHERE ayat. Kondisi yang ditentukan dalam pernyataan UPDATE digunakan untuk memutuskan kolom atau baris tabel mana yang akan terpengaruh atau dimodifikasi.
Perintah UPDATE juga dapat digunakan untuk memperbarui tabel dengan tabel lain. Ini juga dapat digunakan untuk memperbarui tanggal dan waktu kueri SQL.
SQL UPDATE GABUNG
Pernyataan SQL UPDATE juga dapat digunakan untuk memperbarui satu tabel menggunakan tabel lain yang dihubungkan oleh gabungan. Ini dikenal sebagai pernyataan SQL UPDATE JOIN.
UPDATE table1, table2, INNER JOIN table1 ON table1.column1 = table2.column1 SET table1.column1 = table2.column2 WHERE condition
Berikut ini adalah sintaks dasar dari pernyataan UPDATE menggunakan klausa JOIN:
Contoh:
CREATE TABLE TAE1 (Col1 INT, Col2 INT, Col3 VARCHAR (100)) INSERT INTO TAE1 (Col1, Col2, Col3) SELECT 1, 11, 'FIRST' UNION ALL SELECT 11,12, 'SECOND' UNION ALL SELECT 21, 13, 'THIRD' UNION ALL SELECT 31, 14, 'FOURTH'
Mari kita buat tabel pertama TAE1.
CREATE TABLE TAE2 (Col1 INT, Col2 INT, Col3 VARCHAR (100)) INSERT INTO TAE2 (Col1, Col2, Col3) SELECT 1, 21, 'TWO-ONE' UNION ALL SELECT 11,22, 'TWO-TWO' UNION ALL SELECT 21, 23, 'TWO-THREE' UNION ALL SELECT 31, 24, 'TWO-FOUR'
Sekarang, mari kita buat tabel kedua TAE2.
SELECT * FROM TAE1
Col1 | Kol2 | Kol3 |
1 | 11 | Pertama |
11 | 12 | Kedua |
21 | 13 | Ketiga |
31 | 14 | Keempat |
Keluaran:
Sekarang mari kita lihat isi tabel TAE2.
SELECT * FROM TAE2
Keluaran:
Col1 | Kol2 | Kol3 |
1 | 21 | Dua-satu |
11 | 22 | Dua-dua |
21 | 23 | Dua-tiga |
31 | 24 | Dua-empat |
Sekarang kueri berikut akan memperbarui baris TAE1 di mana nilai Col1 adalah 21 dan 31 menggunakan tabel TAE2 di mana ada baris yang sama dan di mana Col1 adalah 21 dan 31. Hanya catatan yang sesuai dari Col2 dan Col3 dari tabel TAE1 yang akan diperbarui .
UPDATE TAE1 SET Col2 = TAE2.Col2, Col3 = TAE2.Col3 FROM TAE1 INNER JOIN TAE2 ON TAE1.Col1 = TAE2.Col1 WHERE TAE1.Col1 IN (21, 31);
Keluaran:
Col1 | Kol2 | Kol3 |
1 | 11 | Pertama |
11 | 12 | Kedua |
21 | 13 | Dua-tiga |
31 | 14 | Dua-empat |
Sekarang, jika isi tabel TAE1 dicentang, akan diperoleh output berikut.
Namun, isi TAE2 tetap tidak berubah.
Col1 | Kol2 | Kol3 |
1 | 21 | Dua-satu |
11 | 22 | Dua-dua |
21 | 23 | Dua-tiga |
31 | 24 | Dua-empat |
Ini adalah contoh penggunaan klausa JOIN dengan pernyataan UPDATE. Ini telah menggabungkan dua tabel di atas.
TANGGAL PEMBARUAN SQL
Pernyataan SQL UPDATE DATE digunakan untuk memperbarui field tanggal dan waktu di SQL.
UPDATE table_name SET data_field = ‘data_value’ WHERE conditions;
Berikut ini adalah sintaks umum memperbarui bidang tanggal dan waktu di SQL :
UPDATE table_name SET data_field = getdate();
Berikut ini adalah sintaks memperbarui tanggal dengan tanggal saat ini di SQL :
UPDATE table_name SET data_field = CURRENT_TIMESTAMP;
Berikut ini adalah sintaks memperbarui tanggal dan waktu dengan tanggal dan waktu saat ini di SQL:
UPDATE table_name SET data_field = ‘YYYY-MM-DD HH:MM:SS’;
Berikut ini adalah sintaks memperbarui tanggal dan waktu dengan tanggal dan waktu tertentu dalam SQL:
UPDATE table_name SET data_field = CAST(‘date_value’ AS DATETIME);
Berikut ini adalah sintaks memperbarui tanggal dengan nilai tertentu ketika format tanggal tidak diketahui:
Contoh:
UPDATE Employee SET DOJ = ‘2021-07-05’ WHERE Dept_ID = 10;
Berikut ini adalah contoh memperbarui tanggal dalam beberapa baris di Karyawan . yang diberikan tabel.
Emp_ID | Nama_Emp | Penunjukan | ID_Pengelola | DOJ | Gaji | Dept_ID |
1 | Emp1 | Direktur | 2011-07-11 | 45000 | 10 | |
2 | Emp2 | Direktur | 2011-07-11 | 40000 | 20 | |
3 | Emp3 | Manajer | Emp1 | 2011-07-11 | 27000 | 10 |
4 | Emp4 | Manajer | Emp2 | 2010-10-08 | 25000 | 20 |
5 | Emp5 | Analis | Emp3 | 2011-07-11 | 20000 | 10 |
6 | Emp6 | Analis | Emp3 | 2010-10-08 | 18000 | 10 |
7 | Emp7 | Petugas | Emp3 | 2011-07-11 | 15000 | 10 |
8 | Emp8 | Penjual | Emp4 | 09-09-2009 | 14000 | 20 |
9 | Emp9 | Penjual | Emp4 | 2010-10-08 | 13000 | 20 |
Kueri:
Keluaran:
Emp_ID | Nama_Emp | Penunjukan | ID_Pengelola | DOJ | Gaji | Dept_ID |
1 | Emp1 | Direktur | 05-07-21 | 45000 | 10 | |
3 | Emp3 | Manajer | Emp1 | 05-07-21 | 27000 | 10 |
5 | Emp5 | Analis | Emp3 | 05-07-21 | 20000 | 10 |
6 | Emp6 | Analis | Emp3 | 05-07-21 | 18000 | 10 |
7 | Emp7 | Petugas | Emp3 | 05-07-21 | 15000 | 10 |
Dengan demikian, kolom DOJ untuk semua karyawan yang memiliki Dept_ID 10 telah diperbarui.
Berikut adalah contoh memperbarui tanggal masuk di tabel siswa menggunakan fungsi CAST:
UPDATE student
SET admission_date = CAST(‘2021-04-10’ AS DATETIME)
WHERE id = 42;