MySQL DELETE Query: Cara Menghapus Baris dari Tabel

Daftar Isi:

Anonim

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.