Pertanyaan MySQL DELETE: Cara Menghapus Baris dari Jadual

Isi kandungan:

Anonim

Apakah Pertanyaan DELETE?

Perintah MySQL DELETE digunakan untuk menghapus baris yang tidak lagi diperlukan dari jadual pangkalan data. Ia menghapus keseluruhan baris dari jadual dan mengembalikan jumlah baris yang dihapuskan. Perintah hapus sangat berguna untuk menghapus data sementara atau usang dari pangkalan data anda.

Pertanyaan Hapus di MySQL dapat menghapus lebih dari satu baris dari jadual dalam satu pertanyaan. Ini terbukti menjadi kelebihan ketika mengeluarkan sebilangan besar baris dari jadual pangkalan data.

Setelah baris Hapus di baris MySQL telah dihapus, baris tidak dapat dipulihkan. Oleh itu, sangat disarankan untuk membuat sandaran pangkalan data sebelum menghapus data dari pangkalan data. Ini membolehkan anda memulihkan pangkalan data dan melihat data di kemudian hari sekiranya diperlukan.

Cara Menghapus baris di MySQL

Untuk menghapus baris dalam MySQL, pernyataan DELETE FROM digunakan:

DELETE FROM `table_name` [WHERE condition];

SINI

  • HAPUS DARI `table_name` memberitahu pelayan MySQL untuk membuang baris dari jadual ...
  • [WHERE condition] adalah pilihan dan digunakan untuk meletakkan penapis yang menyekat jumlah baris yang dipengaruhi oleh pertanyaan baris MySQL DELETE.

Sekiranya klausa DI MANA tidak digunakan dalam pertanyaan HAPUS MySQL, maka semua baris dalam jadual yang diberikan akan dihapus.

Contoh Pertanyaan Hapus MySQL

Sebelum kita membincangkan lebih terperinci arahan DELETE, mari masukkan beberapa contoh data ke dalam jadual filem untuk digunakan.

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);

Melaksanakan skrip di atas menambah tiga (3) filem ke dalam jadual filem. Sebelum kita melangkah lebih jauh dalam pelajaran kita, mari kita masukkan semua filem dalam jadual kita. Skrip yang ditunjukkan di bawah menunjukkan bahawa.

SELECT * FROM `movies`;

Melaksanakan skrip di atas memberikan hasil 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 bahawa pustaka video Myflix tidak lagi mahu menyewakan "The Great Dictator" kepada anggotanya dan mereka mahu ia dikeluarkan dari pangkalan data. Id filemnya adalah 18, kita boleh menggunakan skrip yang ditunjukkan di bawah ini untuk menghapus barisnya dari jadual filem.

DELETE FROM `movies` WHERE `movie_id` = 18;

Melaksanakan skrip di atas di MySQL WorkBench terhadap Myflix akan menghapus filem dengan id 18 dari jadual pangkalan data.

Mari lihat jadual jadual filem terkini.

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:

  • filem dengan id 18 belum kembali dalam set hasil pertanyaan.
  • anda tidak boleh memadamkan satu lajur untuk jadual. Anda boleh memadam keseluruhan baris.

Katakan kita mempunyai senarai filem yang ingin kita hapuskan. Kita boleh menggunakan klausa WHERE bersama dengan IN.

DELETE FROM `movies` WHERE `movie_id` IN (20,21);

Melaksanakan skrip di atas akan menghapus filem dengan ID 20 dan 21 dari jadual filem kami.

Ringkasan

  • Perintah hapus digunakan untuk menghapus data yang tidak lagi diperlukan dari jadual.
  • "Klausa DI MANA" digunakan untuk mengehadkan bilangan baris yang dipengaruhi oleh pertanyaan DELETE.
  • Setelah data dihapus, data tidak dapat dipulihkan, oleh itu sangat disarankan membuat sandaran sebelum menghapus data.