Apa itu DELETE Query?
Perintah MySQL DELETE digunakan untuk menghapus baris yang tidak lagi diperlukan dari tabel database. Ini menghapus seluruh baris dari tabel dan mengembalikan jumlah baris yang dihapus. Perintah delete berguna untuk menghapus data sementara atau usang dari database Anda.
Hapus kueri di MySQL dapat menghapus lebih dari satu baris dari tabel dalam satu kueri. Ini terbukti menjadi keuntungan saat menghapus sejumlah besar baris dari tabel database.
Setelah baris Hapus di baris MySQL telah dihapus, baris tersebut tidak dapat dipulihkan. Oleh karena itu, sangat disarankan untuk membuat backup database sebelum menghapus data apa pun dari database. Ini memungkinkan Anda untuk memulihkan database dan melihat data nanti jika diperlukan.
Cara menghapus baris di MySQL
Untuk menghapus baris di MySQL, pernyataan DELETE FROM digunakan:
DELETE FROM `table_name` [WHERE condition];
SINI
- DELETE FROM `table_name` memberi tahu server MySQL untuk menghapus baris dari tabel…
- [Kondisi WHERE] bersifat opsional dan digunakan untuk meletakkan filter yang membatasi jumlah baris yang dipengaruhi oleh kueri baris MySQL DELETE.
Jika klausa WHERE tidak digunakan dalam kueri MySQL DELETE, maka semua baris dalam tabel tertentu akan dihapus.
Contoh MySQL Delete Query
Sebelum kita membahas lebih detail tentang perintah DELETE, mari kita masukkan beberapa data sampel ke dalam tabel film untuk dikerjakan.
INSERT INTO `movies` (`title`, `director`, `year_released`, `category_id`) VALUES ('The Great Dictator', 'Chalie Chaplie', 1920, 7);INSERT INTO `movies` (`title`, `director`, `category_id`) VALUES ('sample movie', 'Anonymous', 8);INSERT INTO movies (`title`, `director`, `year_released`, `category_id`) VALUES ('movie 3', 'John Brown', 1920, 8);
Menjalankan skrip di atas menambahkan tiga (3) film ke dalam tabel film. Sebelum kita melangkah lebih jauh ke dalam pelajaran kita, mari kita lihat semua film di tabel kita. Skrip yang ditunjukkan di bawah ini melakukan itu.
SELECT * FROM `movies`;
Menjalankan skrip di atas memberi kita hasil sebagai berikut.
movie_id | itle | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
18 | The Great Dictator | Chalie Chaplie | 1920 | 7 |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
Anggaplah perpustakaan video Myflix tidak lagi ingin menyewakan "The Great Dictator" kepada anggotanya dan mereka ingin menghapusnya dari database. ID filmnya adalah 18, kita dapat menggunakan skrip yang ditunjukkan di bawah ini untuk menghapus barisnya dari tabel film.
DELETE FROM `movies` WHERE `movie_id` = 18;
Menjalankan skrip di atas di MySQL WorkBench terhadap Myflix akan menghapus film dengan id 18 dari tabel database.
Mari kita lihat status tabel film saat ini.
SELECT * FROM `movies`;
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
CATATAN:
- film dengan id 18 belum kembali di set hasil query.
- Anda tidak dapat menghapus satu kolom untuk tabel. Anda dapat menghapus seluruh baris.
Katakanlah kita memiliki daftar film yang ingin kita hapus. Kita dapat menggunakan klausa WHERE bersama dengan IN.
DELETE FROM `movies` WHERE `movie_id` IN (20,21);
Menjalankan skrip di atas menghapus film dengan ID 20 dan 21 dari tabel film kami.
Ringkasan
- Perintah delete digunakan untuk menghapus data yang tidak lagi diperlukan dari tabel.
- "WHERE clause" digunakan untuk membatasi jumlah baris yang dipengaruhi oleh query DELETE.
- Setelah data dihapus, data tidak dapat dipulihkan, oleh karena itu sangat disarankan untuk membuat cadangan sebelum menghapus data.