SQL DELETE statement merupakan query sql yang memiliki fungsi untuk menghapus data records di dalam sebuah tabel database.
Konsep sederhana untuk mendeskripsikan query delete sql adalah sebagai berikut.
Tolong delete data dari tabel ini ketika kondisinya seperti ini.
Adapun sintaks query SQL DELETE statement yakni sebagai berikut.
Sintaks DELETE SQL
DELETE FROM
nama_tabel
WHERE
kondisinya;
Seperti halnya telah disinggung di materi sql where clause sebelumnya, kata kunci WHERE bisa digunakan dalam query DELETE SQL bahkan lebih ditekankan penggunaannya.
Jika tidak secara spesifik dituliskan dalam query, maka perintah sql delete akan menghapus seluruh data records pada tabel, hal ini mirip dengan query sql update statement ketika tidak dispesifikan kata kunci WHERE.
Agar lebih jelas lagi, mari kita lakukan studi 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 DELETE
Mari kita implementasikan SQL DELETE statement pada tabel students
di atas dengan menghapus data yang memiliki id = 10.
DELETE FROM
students
WHERE
id = 10;
Messages:
DELETE 1
Query returned successfully in 79 msec.
Seperti halnya query sql insert into dan query update sql, ketika berhasil dijalankan maka query SQL DELETE juga tidak mengembalikan output, melainkan messages. Berdasarkan messages di atas, kita telah berhasil menghapus 1 record data dari tabel students
.
Untuk memastikannya, mari kita lakukan query select statement berikut.
SELECT
*
FROM
students;
Output:
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 |
Tampak bahwa id = 10 sudah berhasil kita hapus dari tabel.
Perintah SQL DELETE Semua Baris
Seperti telah sempat disebutkan di atas, perintah SQL DELETE semua records data dari tabel pada dasarnya bisa dilakukan dengan tanpa menspesifikan keyword WHERE.
Namun kamu perlu berhati-hati dengan hal ini, jika memang perlu menghapus semua records data silahkan lakukan query ini.
DELETE FROM
students;
Messages:
DELETE 9
Query returned successfully in 131 msec.
Berdasarkan messages di atas, kita telah berhasil menghapus 9 data records dari tabel students
. Jika kita melakukan query select, maka tidak akan ada record di tabel.
SELECT
*
FROM
students;
Output:
id | name | class |
---|
Dan ya, semua data records di tabel sudah terhapus. Sekali lagi, pastikan kamu melakukan query delete sql dengan benar peruntukannya ya, karena akan berakibat fatal saat mengembangkan aplikasi jika data tidak sengaja terhapus.