Di PostgreSQL, gunakan pernyataan UPDATE untuk mengubah data yang ada di tabel. Pernyataan UPDATE hanya memperbarui data dalam tabel dan tidak mengubah struktur tabel
Sintaksis. Perbarui Tabel
UPDATE
SET = ,
= ,
...
WHERE
RETURNING * | AS ;
Dalam sintaks di atas
- Tentukan nama tabel yang ingin Anda perbarui datanya setelah kata kunci UPDATE
- Setelah kata kunci SET, tentukan satu atau lebih kombinasi kolom dan nilai barunya. Kolom yang tidak ditentukan dalam klausa SET akan memiliki nilai aslinya
- Klausul WHERE bersifat opsional yang membatasi operasi pembaruan khusus untuk kondisi yang ditentukan. Jika Anda tidak menentukan klausa WHERE, Postgres akan memperbarui semua baris tabel
- Klausa RETURNING adalah opsional yang akan mengembalikan daftar semua baris atau nilai yang diperbarui dari kolom yang ditentukan
Mari perbarui data pada tabel employee
berikut
Dalam contoh di atas,
UPDATE employee
SET email = '[email protected]'
WHERE emp_id = 1;
_0 menunjukkan bahwa kami ingin memperbarui data dalam tabel employee
, UPDATE employee
SET email = '[email protected]'
WHERE emp_id = 1;
2 menentukan bahwa kolom email harus diperbarui ke UPDATE employee
SET email = '[email protected]'
WHERE emp_id = 1;
3. UPDATE employee
SET email = '[email protected]'
WHERE emp_id = 1;
4 akan memperbarui baris di mana UPDATE employee
SET email = '[email protected]'
WHERE emp_id = 1;
5 nilainya adalah 1, sehingga membatasi operasi pembaruan hanya untuk satu barisBerikut ini menampilkan hasil dari kueri di atas di pgAdmin
[email protected]' WHERE emp_id = 1; _6 yang menunjukkan bahwa ia telah memperbarui 1 barisMari verifikasi data yang diperbarui menggunakan kueri SELECT yang ditunjukkan di bawah ini
[email protected]' WHERE emp_id = 1; _7, maka itu akan memperbarui nilai kolom email di semua barisContoh. Perbarui Semua Baris
MenyalinUPDATE employee
SET email = '[email protected]';
_Klausa PENGEMBALIAN dengan UPDATE Pernyataan
Klausa RETURNING mengembalikan nilai baris atau kolom yang diperbarui. Jika Anda menentukan
UPDATE employee
SET email = '[email protected]'
WHERE emp_id = 1;
_8 maka itu akan mengembalikan semua baris yang diperbarui dan jika Anda menentukan UPDATE employee
SET email = '[email protected]'
WHERE emp_id = 1;
9 maka itu akan mengembalikan nilai dari kolom yang ditentukan. Anda dapat menentukan beberapa kolom yang dipisahkan dengan komaPernyataan UPDATE berikut mengembalikan semua baris yang diperbarui
Contoh. KEMBALI *
MenyalinUPDATE employee
SET birthdate = NULL,
salary = 10000,
last_name = 'Blamire'
WHERE emp_id = 4
RETURNING *;
Seperti yang Anda lihat,
UPDATE employee
SET email = '[email protected]';
0 disetel ke NULL, UPDATE employee
SET email = '[email protected]';
1 disetel ke 10000, dan UPDATE employee
SET email = '[email protected]';
2 diubah menjadi UPDATE employee
SET email = '[email protected]';
3 di mana UPDATE employee
SET email = '[email protected]';
4. Urutan kolom tidak penting dengan klausa SET. Berikut ini menampilkan hasil dari kueri di atas di pgAdmin[email protected]';
_5 tidak diperbarui tetapi kami masih dapat menerimanya dengan klausa RETURNING. Kueri di atas akan menampilkan hasil berikut di pgAdmin[email protected]';
6, pernyataan UPDATE bergabung dengan baris UPDATE employee
SET email = '[email protected]';
7. Untuk semua baris yang cocok, pernyataan UPDATE memperbarui nilai UPDATE employee
SET email = '[email protected]';
8 dengan nilai baru yang ditentukan di UPDATE employee
SET email = '[email protected]';
9Anggap kita memiliki departemen [tabel induk] dan karyawan [tabel anak] seperti di bawah ini
[email protected]' WHERE emp_id = 1; _5 sebagai 3 dan 6 milik departemenUPDATE employee
SET birthdate = NULL,
salary = 10000,
last_name = 'Blamire'
WHERE emp_id = 4
RETURNING *;
0 dengan UPDATE employee
SET birthdate = NULL,
salary = 10000,
last_name = 'Blamire'
WHERE emp_id = 4
RETURNING *;
2 sebagai 2