Mis on DELETE päring?
MySQL DELETE käsku kasutatakse andmebaasitabelitest enam vajalike ridade kustutamiseks. See kustutab tabelist terve rea ja tagastab kustutatud ridade arvu. Käsk Kustuta on kasulik ajutiste või vananenud andmete kustutamiseks oma andmebaasist.
MySQL-i kustutatud päringuga saab ühe päringuga kustutada mitu tabelit. See osutub eeliseks, kui eemaldate andmebaasitabelist suure hulga ridu.
Kui rida Kustuta rida MySQL-is on kustutatud, ei saa seda enam taastada. Seetõttu on tungivalt soovitatav enne andmebaasist andmete kustutamist teha andmebaasi varukoopiad. See võimaldab teil andmebaasi taastada ja andmeid hiljem vaadata, kui see on vajalik.
Kuidas rida MySQL-is kustutada
Rida kustutamiseks MySQL-is kasutatakse käsku DELETE FROM:
DELETE FROM `table_name` [WHERE condition];
SIIN
- Kustuta kustutab "table_name" käsib MySQL-serveril tabelist read eemaldada ...
- [WHERE tingimus] on valikuline ja seda kasutatakse filtri lisamiseks, mis piirab ridade arvu, mida MySQL DELETE reapäring mõjutab.
Kui MySQL DELETE päringus ei kasutata klauslit WHERE, kustutatakse kõik antud tabeli read.
Näide MySQLi kustutamise päringust
Enne kui läheme üksikasjalikumalt käsku KUSTUTA, sisestame mõned näidisandmed filmitabelisse, 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 käivitamine lisab filmitabelisse kolm (3) filmi. Enne kui läheme oma õppetundi edasi, võtkem kõik filmid oma tabelisse. Allpool näidatud skript teeb seda.
SELECT * FROM `movies`;
Ülaltoodud skripti käivitamine annab meile järgmised tulemused.
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 |
Oletame, et Myflixi videoteek ei soovi enam "Suurt diktaatorit" oma liikmetele välja rentida ja nad soovivad, et see andmebaasist eemaldataks. Selle filmi ID on 18, saame kasutada alltoodud skripti, et kustutada selle rida filmitabelist.
DELETE FROM `movies` WHERE `movie_id` = 18;
Ülaltoodud skripti käivitamine MySQL WorkBenchis Myflixi vastu kustutab filmi ID 18 andmebaasitabelist.
Vaatame filmitabeli praegust olekut.
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ÄRGE:
- filmi ID-ga 18 pole päringu tulemuste komplektis tagastatud.
- te ei saa tabeli kohta ühte veergu kustutada. Saate kustutada terve rea.
Oletame, et meil on nimekiri filmidest, mida soovime kustutada. Saame kasutada klahvi WHERE koos IN-ga.
DELETE FROM `movies` WHERE `movie_id` IN (20,21);
Ülaltoodud skripti käivitamine kustutab filmid ID-ga 20 ja 21 meie filmitabelist.
Kokkuvõte
- Käsku Kustuta kasutatakse andmete eemaldamiseks, mida pole enam vaja tabelist.
- Klauslit "WHERE" kasutatakse päringute Kustuta mõjutatud ridade arvu piiramiseks.
- Kui andmed on kustutatud, ei saa neid taastada, seetõttu on tungivalt soovitatav enne andmete kustutamist teha varukoopiad.