Blog KaryaVirtual

Gudang Pengetahuan Digital

PostgreSQL : DELETE

January 25, 2020 PostgreSQL 0

Summary: dalam tutorial ini, Anda akan belajar bagaimana menggunakan pernyataan PostgreSQL Delete untuk menghapus data dari sebuah tabel.

Pengantar PostgreSQL DELETE

Untuk menghapus data dari tabel, Anda menggunakan pernyataan ” DELETE PostgreSQL” seperti yang ditunjukkan di bawah ini:

DELETE FROM table
WHERE condition;

Dalam sintaks ini:

  • Pertama, tentukan tabel yang ingin Anda hapus datanya di klausa DELETE FROM .
  • Kedua, tentukan baris mana yang akan dihapus dengan menggunakan kondisi di klausa WHERE . Klausa WHERE adalah opsional. Namun, jika Anda mengabaikan itu, pernyataan DELETE akan menghapus semua baris dalam tabel.

Pernyataan DELETE mengembalikan jumlah baris yang dihapus. Ini mungkin tidak sama dengan jumlah baris yang ditentukan oleh kondisi di klausa WHERE karena tabel mungkin berisi trigger  BEFORE DELETE yang melakukan sesuatu yang lain sebelum penghapusan. Jika tidak ada baris dihapus, DELETE pernyataan mengembalikan null.

Jika Anda ingin memeriksa kondisi yang merujuk ke satu atau lebih kolom di tabel lain, Anda menggunakan klausa USING sebagai berikut:

DELETE FROM table
USING another_table
WHERE table.id = another_table.id AND …
DELETE FROM table
WHERE table.id = (SELECT id FROM another_table);

Contoh PostgreSQL DELETE

Kita akan menggunakan table  linkdan link_tmp yang kita buat di dalam tutorial insert. Berikut ini menggambarkan isi dari tabel link:

 SELECT
   *
FROM
   link;
link table

Contoh PostgreSQL DELETE dengan klausa WHERE

Pernyataan berikut menghapus baris yang nilainya di kolom id adalah 8:

DELETE FROM link
WHERE id = 8;

Pernyataan diatas mengembalikan angka satu yang menunjukkan bahwa satu baris telah dihapus.

Perhatikan bahwa jika tabel link tidak memiliki baris dengan ID 8, pernyataan DELETE tidak melakukan apa-apa dan mengembalikan nol (0).

Contoh pernyataan PostgreSQL DELETE USING

Misalkan Anda ingin menghapus semua baris dari tabel link yang memiliki nilai kolom id berada di tabel link_tmp.

Pertama, periksa data tabel link_tmp :

SELECT
    *
FROM
    link_tmp;
link_tmp table

Kiita berharap bahwa baris dengan id 6 dan 7 akan dihapus dari tabel link:

Kedua, gunakan pernyataan DELETE berikut dengan klausa USING untuk menghapus baris dalam tabel link:

DELETE FROM link 
USING link_tmp
WHERE
    link.id = link_tmp.id;

Ketiga, query tabel link untuk memverifikasi operasi Delete:

PostgreSQL DELETE USING example

Seperti yang dapat Anda lihat dengan jelas dari output, pernyataan bekerja seperti yang diharapkan.

PostgreSQL menghapus semua baris dari tabel

Untuk menghapus semua baris dari tabel link , Anda mengabaikan di klause WHERE pernyatanDELETE sebagai berikut:

DELETE FROM link;

Tabel link sekarang kosong.

Untuk menghapus semua baris di tabel link_tmp dan mengembalikan baris yang dihapus, Anda menggunakan klausa RETURNING di pernyataan DELETE sebagai berikut:

12DELETE FROM link_tmp RETURNING *;
PostgreSQL delete table RETURNING

Dalam tutorial ini, kita telah menunjukkan kepada Anda bagaimana menggunakan pernyataan DELETE PostgreSQL untuk menghapus data dalam sebuah tabel.

Leave a Reply

Your email address will not be published. Required fields are marked *