Perhatian!
Anda harus hati-hati ketika menjalankan Delete statement, karena data yang telah Anda hapus tidak dapat di rollback atau dikembalikan seperti semula. Pastikan untuk membackup terlebih dahulu table yang bersangkutan sebelum menjalankan Delete statement.
Sintak Dasar
Di bawah ini adalah sintak dasar dari Delete statement di MySQL:
DELETE FROM table_name WHERE [condition];
Penjelasan sintak:
- table_name adalah table yang akan Anda hapus.
- condition digunakan untuk menghapus data sesuai dengan kondisi atau kriteria yang Anda inginkan. Anda dapat menambahkan operator OR, AND, LIKE, dan lain sebagainya.
Anda dapat menghapus semua data yang terdapat di table dengan menghilangkan WHERE clause pada Delete statement.
Contoh
Misalkan Anda telah memiliki sebuah table "employee" dengan data-data sebagai berikut:
+-------------+---------------+--------+----------+---------+------------+ | employee_id | employee_name | gender | address | salary | departemen | +-------------+---------------+--------+----------+---------+------------+ | 001 | Nursalim | L | Jakarta | 3000000 | IT | | 002 | Naura | P | Bandung | 2000000 | HRD | | 003 | Ahmad | L | Semarang | 5000000 | ACC | | 004 | Nani | P | Surabaya | 2500000 | FIN | | 005 | Nurul | P | Tegal | 4500000 | FIN | +-------------+---------------+--------+----------+---------+------------+
Dari data-data diatas,
- Hapus data dari table "employee" yang memiliki employee_id "001", dan tampilkan kembali datanya?
Untuk menghapus data sesuai dengan kriteria diatas, Anda dapat menjalankan statement berikut ini:
mysql> DELETE FROM employee -> WHERE employee_id = '001'; Query OK, 1 row affected (0.10 sec)
Untuk membuktikan apakah data telah terhapus, Anda dapat menampilkan datanya kembali dengan menggunakan Select statement seperti berikut ini:mysql> SELECT * FROM employee; +-------------+---------------+--------+----------+---------+------------+ | employee_id | employee_name | gender | address | salary | departemen | +-------------+---------------+--------+----------+---------+------------+ | 002 | Naura | P | Bandung | 2000000 | HRD | | 003 | Ahmad | L | Semarang | 5000000 | ACC | | 004 | Nani | P | Surabaya | 2500000 | FIN | | 005 | Nurul | P | Tegal | 4500000 | FIN | +-------------+---------------+--------+----------+---------+------------+
- Hapus data dari table "employee" yang memiliki gender sama dengan "P", dan tampilkan kembali datanya?
Untuk menghapus data sesuai dengan kriteria diatas, Anda dapat menjalankan statement berikut ini:
mysql> DELETE FROM employee -> WHERE gender = 'P'; Query OK, 3 rows affected (0.05 sec)
Untuk membuktikan apakah data telah terhapus, Anda dapat menampilkan datanya kembali dengan menggunakan Select statement seperti berikut ini:mysql> SELECT * FROM employee; +-------------+---------------+--------+----------+---------+------------+ | employee_id | employee_name | gender | address | salary | departemen | +-------------+---------------+--------+----------+---------+------------+ | 003 | Ahmad | L | Semarang | 5000000 | ACC | +-------------+---------------+--------+----------+---------+------------+ 1 row in set (0.00 sec)
- Hapus semua data dari table "employee"?
Untuk menghapus data sesuai dengan kriteria diatas, Anda dapat menjalankan statement berikut ini:
mysql> DELETE FROM employee; Query OK, 1 row affected (0.05 sec)