MySQL Interogarea DELETE: Cum se șterge un rând din tabel

Ce este interogarea DELETE?

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

Interogarea Ștergere în MySQL poate șterge mai mult de un rând 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 bază de date.

Odată ce a fost introdus un rând Delete MySQL rândul a fost șters, nu poate fi recuperat. Prin urmare, este recomandat să faceți copii de siguranță 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 mai târziu, dacă este necesar.

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

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

DELETE FROM `table_name` [WHERE condition];

AICI

  • DELETE FROM `table_name` spune MySQL server pentru a elimina rânduri din tabel ..
  • [condiția WHERE] este opțională și este folosită pentru a pune un filtru care restricționează numărul de rânduri afectate de sintaxa DELETE MySQL interogare de rând.

În cazul în care clauza WHERE nu este folosit în MySQL ȘTERGERE interogarea, atunci toate rândurile dintr-un tabel dat vor fi șterse.

Exemplu de MySQL Ștergeți interogarea

Înainte de a intra în discuții mai detaliate despre instrucțiunea SQL DELETE, să inserăm câteva date eșantion în tabelul de 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 de filme. Înainte de a merge mai departe în lecția noastră, să luăm toate filmele din tabelul nostru. Scriptul de mai jos face asta.

SELECT * FROM `movies`;

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

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
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 ei doresc să fie eliminat din baza de date. ID-ul filmului este 18, putem folosi scriptul prezentat mai jos pentru a șterge rândul din tabel MySQL exemplu.

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

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

Să vedem starea curentă a tabelului de 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 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 Șterge în MySQL, este folosit pentru a elimina datele care nu mai sunt necesare dintr-un tabel.
  • „Clauza WHERE” este folosită pentru a limita numărul de rânduri afectate de interogarea DELETE MySQL comanda.
  • Odată ce datele au fost șterse, acestea nu pot fi recuperate, de aceea se recomandă insistent să faceți copii de rezervă înainte de a șterge datele.