PostgreSQL Hapus Kueri (Hapus Baris dari Pilihan)
Hapus Kueri di PostgreSQL
Hapus Pernyataan in PostgreSQL digunakan untuk menghapus satu atau lebih record dari tabel. Jika Anda ingin menghapus baris tertentu dari tabel PostgreSQL memungkinkan Anda untuk menggabungkan pernyataan DELETE dengan klausa WHERE jika tidak maka akan menghapus semua catatan.
Sintaks Kueri Hapus Postgres
Pernyataan DELETE dapat didefinisikan dengan sintaks di bawah ini:
[ WITH [ RECURSIVE ] with-query [, ...] ] DELETE FROM [ ONLY ] table-name [ * ] [ [ AS ] alias ] [ USING using-list ] [ WHERE condition(s) | WHERE CURRENT OF cursor-name] [ RETURNING * | output-expression [ [ AS ] output-name] [, ...] ]
Parameters
- dengan-kueri: klausa WITH memungkinkan kita mereferensikan satu atau lebih subkueri untuk direferensikan berdasarkan nama dalam kueri DELETE.
- nama tabel: nama tabel yang datanya akan dihapus.
- alias: ini adalah pengganti nama tabel target.
- menggunakan-daftar: ekspresi tabel untuk memungkinkan kolom dari tabel lain digunakan dalam klausa WHERE.
- kondisi): opsional. Ini adalah kondisi yang harus dipenuhi agar catatan dapat dihapus. Jika bagian ini tidak disediakan, semua catatan nama tabel akan dihapus.
- nama kursor: kursor yang akan digunakan pada kondisi WHERE CURRENT OF. Baris terakhir yang diambil oleh kursor ini akan dihapus.
- ekspresi keluaran: ekspresi yang akan diproses dan dikembalikan oleh pernyataan DELETE setelah penghapusan setiap baris.
- nama-keluaran: nama yang akan digunakan untuk kolom yang dikembalikan.
Perhatikan bahwa karena pernyataan DELETE menghapus seluruh baris, Anda tidak perlu menentukan nama kolom.
PostgreSQL Hapus Kueri dengan Satu Syarat
Pernyataan DELETE dapat digunakan dengan satu kondisi. Kondisi tersebut ditetapkan menggunakan klausa WHERE. Perhatikan tabel Harga dengan data berikut:
Harga
Mari kita hapus record dengan id 4:
DELETE FROM Price WHERE id = 4;
Perintah di atas akan menghapus record yang idnya 4. Mari kita konfirmasi apakah penghapusan berhasil:
Baris dengan id 4 telah dihapus.
Hapus Kueri dengan Dua Kondisi
PostgreSQL Pernyataan DELETE dapat mengambil dua kondisi. Kedua kondisi tersebut harus digabungkan menggunakan operator AND. Kita akan menggunakan tabel berikut:
Harga:
Perhatikan contoh yang diberikan di bawah ini:
DELETE FROM Price WHERE id = 3Y AND price = 300;
Pada perintah di atas, kita menghapus baris yang idnya 3, dan harganya 300. Sekarang kita bisa menanyakan tabelnya:
SELECT * FROM Price
Ini mengembalikan yang berikut:
Catatan dengan id 3 dan harga 300 telah dihapus.
PostgreSQL Hapus Kueri menggunakan Kondisi yang Ada
Dengan kondisi EXISTS, Anda dapat membuat DELETE lebih rumit. Terkadang, mungkin ada kebutuhan untuk menghapus data dalam satu tabel berdasarkan data di tabel lain.
Anda akan melihat bahwa klausa FROM tidak memungkinkan Anda untuk mencantumkan data dari lebih dari satu tabel saat melakukan penghapusan, klausa EXISTS menjadi sangat berguna. Kita memiliki dua tabel berikut:
Book:
Harga:
Kita kemudian dapat menjalankan kueri berikut:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Perintah di atas akan menghapus dari tabel Buku jika terdapat catatan di tabel Harga dengan id yang cocok dengan tabel Buku dan harganya kurang dari 250.
Tabel Buku sekarang sebagai berikut:
Catatan dengan id 1 telah dihapus.
Cara Menghapus Baris di PostgreSQL menggunakan pgAdmin
Berikut adalah langkah-langkah untuk menghapus baris di PostgreSQL menggunakan pgAdmin:
Dengan Satu syarat
Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:
Langkah 1) Masuk ke akun pgAdmin Anda
Buka pgAdmin dan Masuk ke akun Anda menggunakan kredensial Anda
Langkah 2) Buat Basis Data Demo
- Dari bilah navigasi di sebelah kiri- Klik Database.
- Klik Demo.
Langkah 3) Ketik Kueri
Ketik kueri di bawah ini di editor kueri:
DELETE FROM Price WHERE id = 4;
Langkah 4) Jalankan Kueri
Klik tombol Jalankan
Langkah 5) Periksa apakah Baris Dihapus
Mari kita periksa apakah penghapusan berhasil:
Dengan Dua syarat
Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:
Langkah 1) Masuk ke akun pgAdmin Anda.
Langkah 2)
- Dari bilah navigasi di sebelah kiri- Klik Database.
- Klik Demo.
Langkah 3) Ketik kueri di editor kueri:
DELETE FROM Price WHERE id = 3 AND price = 300;
Langkah 4) Klik tombol Jalankan.
Langkah 5) Mari kita periksa apakah penghapusan berhasil:
Menggunakan Kondisi EXISTS
Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:
Langkah 1) Masuk ke akun pgAdmin Anda.
Langkah 2)
- Dari bilah navigasi di sebelah kiri- Klik Database.
- Klik Demo.
Langkah 3) Ketik kueri di editor kueri:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Langkah 4) Klik tombol Jalankan.
Langkah 5) Mari kita periksa apakah penghapusan berhasil:
Kesimpulan
- Pernyataan DELETE digunakan untuk menghapus satu atau lebih record dari tabel.
- Untuk menghapus hanya baris tertentu dari tabel, Anda dapat menggabungkan pernyataan DELETE dengan klausa WHERE.
- Jika klausa DELETE digunakan tanpa klausa WHERE, maka semua record dari tabel akan terhapus.
- Parameter nama tabel memungkinkan Anda menambahkan nama tabel dari mana catatan akan dihapus.
- Kita dapat menggunakan pernyataan DELETE dengan satu syarat, yang ditentukan menggunakan klausa WHERE.
- Pernyataan DELETE juga dapat digunakan dengan dua kondisi yang ditentukan dalam klausa WHERE. Kedua kondisi tersebut harus digabungkan menggunakan operator AND.
- ADA kondisi dapat membantu kita menghapus record dari suatu tabel berdasarkan record dari tabel lain.
Unduh Database yang digunakan dalam Tutorial ini