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.