MySQL Kustutuspäring: kuidas tabelist rida kustutada
Mis on DELETE päring?
MySQL kustutama käsku kasutatakse andmebaasi tabelite ridade kustutamiseks, mida enam ei vajata. See kustutab tabelist terve rea ja tagastab kustutatud ridade arvu. Kustuta käsk on kasulik ajutiste või aegunud andmete kustutamiseks andmebaasist.
Kustuta päring sisse MySQL saab ühes päringus tabelist kustutada rohkem kui ühe rea. See osutub eeliseks suure hulga ridade eemaldamisel andmebaasi tabelist.
Üks kord Kustuta rida sisse MySQL rida on kustutatud, seda ei saa taastada. Seetõttu on tungivalt soovitatav teha andmebaasist varukoopiaid enne andmete kustutamist andmebaasist. See võimaldab teil andmebaasi taastada ja andmeid hiljem vajaduse korral vaadata.
Kuidas rida kustutada MySQL
Rea kustutamiseks MySQL, kasutatakse käsku DELETE FROM:
DELETE FROM `table_name` [WHERE condition];
SIIN
- DELETE FROM `tabeli_nimi` ütleb MySQL server tabelist ridade eemaldamiseks ..
- [WHERE tingimus] on valikuline ja seda kasutatakse filtri paigaldamiseks, mis piirab süntaksi DELETE poolt mõjutatud ridade arvu MySQL rea päring.
Kui KUS klausel ei kasutata MySQL KUSTUTA päring, siis kustutatakse antud tabeli kõik read.
Näide MySQL Kustuta päring
Enne kui asume SQL DELETE-lause üksikasjalikumasse arutelusse, sisestame filmide tabelisse mõned näidisandmed, millega töötada.
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);
Ülaltoodud skripti täitmine lisab filmide tabelisse kolm (3) filmi. Enne kui läheme oma õppetunniga edasi, toome tabelisse kõik filmid. Allpool näidatud skript teeb seda.
SELECT * FROM `movies`;
Ülaltoodud skripti täitmine annab meile järgmised tulemused.
| 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 |
Oletame, et Myflixi videoteek ei soovi enam oma liikmetele “Suurt Diktaatorit” välja rentida ja nad soovivad selle andmebaasist eemaldada. Selle filmi ID on 18, saame rea tabelist kustutamiseks kasutada allpool näidatud skripti MySQL näide.
DELETE FROM `movies` WHERE `movie_id` = 18;
Ülaltoodud skripti käivitamine MySQL töölaud vastu Myflix kustutab andmebaasi tabelist filmi ID 18-ga.
Vaatame filmide tabeli hetkeseisu.
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 |
MÄRKUS:
- filmi ID-ga 18 ei ole päringu tulemuste komplektis tagastatud.
- te ei saa tabelist ühte veergu kustutada. Saate kustutada terve rea.
Oletame, et meil on nimekiri filmidest, mida tahame kustutada . Me saame kasutada WHERE-klauslit koos IN-ga.
DELETE FROM `movies` WHERE `movie_id` IN (20,21);
Ülaltoodud skripti täitmine kustutab meie filmide tabelist ID-dega 20 ja 21 olevad filmid.
kokkuvõte
- Käsk Kustuta sisse MySQL, kasutatakse tabelist mittevajalike andmete eemaldamiseks.
- Klauslit WHERE kasutatakse DELETE-päringust mõjutatud ridade arvu piiramiseks MySQL käsk
- Kui andmed on kustutatud, ei saa neid taastada, seetõttu on tungivalt soovitatav enne andmete kustutamist teha varukoopiad.
