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.

Võta see postitus kokku järgmiselt: