Interogare MySQL DELETE: Cum se șterge rândul dintr-un tabel

Cuprins:

Anonim

Ce este interogarea ȘTERGERE?

Comanda MySQL DELETE este utilizată pentru a șterge rândurile care nu mai sunt necesare din tabelele bazei de date. Șterge întregul rând din tabel și returnează numărul de rânduri șterse. Comanda Șterge este utilă pentru a șterge datele temporare sau învechite din baza de date.

Interogarea Șterge din MySQL poate șterge mai multe rânduri dintr-un tabel într-o singură interogare. Acest lucru se dovedește a fi avantaje atunci când eliminați un număr mare de rânduri dintr-un tabel de baze de date.

După ce a fost șters un rând Ștergere din rândul MySQL, acesta nu poate fi recuperat. Prin urmare, se recomandă insistent să faceți copii de rezervă ale bazei de date înainte de a șterge orice date din baza de date. Acest lucru vă poate permite să restaurați baza de date și să vizualizați datele ulterior, dacă este necesar.

Cum să ștergeți un rând în MySQL

Pentru a șterge un rând din MySQL, se folosește instrucțiunea DELETE FROM:

DELETE FROM `table_name` [WHERE condition];

AICI

  • DELETE FROM `table_name` îi spune serverului MySQL să elimine rândurile din tabel ...
  • [Condiția WHERE] este opțională și este utilizată pentru a pune un filtru care restricționează numărul de rânduri afectate de interogarea MySQL DELETE.

Dacă clauza WHERE nu este utilizată în interogarea MySQL DELETE, atunci toate rândurile dintr-un tabel dat vor fi șterse.

Exemplu de interogare de ștergere MySQL

Înainte de a intra în discuții despre mai multe detalii, comanda DELETE, să inserăm câteva exemple de date în tabelul cu filme pentru a lucra.

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

Executarea scenariului de mai sus adaugă trei (3) filme în tabelul cu filme. Înainte de a merge mai departe în lecția noastră, să luăm toate filmele în tabelul nostru. Scriptul prezentat mai jos face acest lucru.

SELECT * FROM `movies`;

Executarea scriptului de mai sus ne oferă următoarele rezultate.

 
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

Să presupunem că biblioteca video Myflix nu mai dorește să închirieze „Marele dictator” membrilor săi și vor să fie eliminată din baza de date. ID-ul filmului este 18, putem folosi scriptul prezentat mai jos pentru a-i șterge rândul din tabelul cu filme.

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

Executarea scriptului de mai sus în MySQL WorkBench împotriva Myflix șterge filmul cu id 18 din tabelul bazei de date.

Să vedem starea actuală a tabelului cu filme.

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

NOTĂ:

  • filmul cu ID-ul 18 nu a fost returnat în setul de rezultate ale interogării.
  • nu puteți șterge o singură coloană pentru un tabel. Puteți șterge un rând întreg.

Să presupunem că avem o listă de filme pe care dorim să le ștergem. Putem folosi clauza WHERE împreună cu IN.

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

Executarea scriptului de mai sus șterge filmele cu ID-urile 20 și 21 din tabelul nostru de filme.

rezumat

  • Comanda de ștergere este utilizată pentru a elimina datele care nu mai sunt necesare dintr-un tabel.
  • „Clauza WHERE” este utilizată pentru a limita numărul de rânduri afectate de interogarea DELETE.
  • Odată ce datele au fost șterse, acestea nu pot fi recuperate, prin urmare, vă recomandăm să faceți copii de rezervă înainte de a șterge datele.