MySQL DELETE päring: Rida kustutamine tabelist

Lang L: none (table-of-contents):

Anonim

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.