„MySQL DELETE“ užklausa: Kaip ištrinti eilutę iš lentelės

Turinys:

Anonim

Kas yra „DELETE“ užklausa?

„MySQL DELETE“ komanda naudojama nereikalingoms eilėms ištrinti iš duomenų bazės lentelių. Iš lentelės ištrinama visa eilutė ir pateikiamas ištrintų eilučių skaičius. Ištrinti komandą pravartu ištrinti laikinus ar pasenusius duomenis iš duomenų bazės.

„MySQL“ užklausa „Ištrinti“ gali ištrinti daugiau nei vieną eilutę iš vienos užklausos lentelės. Tai yra privalumai, kai iš duomenų bazės lentelės pašalinamas didelis eilučių skaičius.

Ištrynus eilutę „MySQL“ ištrinti eilutę, jos atkurti nebegalima. Todėl prieš ištrinant bet kokius duomenis iš duomenų bazės, labai rekomenduojama padaryti duomenų bazių atsargines kopijas. Tai gali leisti atkurti duomenų bazę ir peržiūrėti duomenis vėliau, jei to reikės.

Kaip ištrinti eilutę MySQL

Norėdami ištrinti „MySQL“ eilutę, naudojamas sakinys DELETE FROM:

DELETE FROM `table_name` [WHERE condition];

ČIA

  • „DELETE FROM“ iš „table_name“ liepia MySQL serveriui pašalinti eilutes iš lentelės ...
  • [WHERE condition] yra neprivaloma ir naudojama norint įdėti filtrą, kuris riboja eilučių, kurias paveikė „MySQL DELETE“ eilutės užklausa, skaičių.

Jei klaida „WHERE“ nenaudojama „MySQL DELETE“ užklausoje, visos nurodytos lentelės eilutės bus ištrintos.

„MySQL Delete Query“ pavyzdys

Prieš pradėdami išsamesnės diskusijos komandą DELETE, į filmų lentelę įterpkime keletą pavyzdinių duomenų, su kuriais galėtume dirbti.

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);

Vykdant pirmiau pateiktą scenarijų, į filmų lentelę įtraukiami trys (3) filmai. Prieš eidami toliau į savo pamoką, pateikime visus filmus savo lentelėje. Žemiau pateiktas scenarijus tai daro.

SELECT * FROM `movies`;

Vykdydami pirmiau pateiktą scenarijų, gauname šiuos rezultatus.

 
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

Tarkime, kad „Myflix“ vaizdo biblioteka nebenori nuomoti „Didžiojo diktatoriaus“ savo nariams ir jie nori, kad jis būtų pašalintas iš duomenų bazės. Jo filmo ID yra 18, mes galime naudoti žemiau pateiktą scenarijų, kad ištrintume jo eilutę iš filmų lentelės.

DELETE FROM `movies` WHERE `movie_id` = 18;

Vykdant aukščiau pateiktą scenarijų „MySQL WorkBench“ prieš „Myflix“, iš duomenų bazės lentelės ištrinamas filmas su ID 18.

Pažiūrėkime apie dabartinę filmų lentelės būseną.

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

PASTABA:

  • filmas, kurio ID 18, nebuvo grąžintas į užklausos rezultatų rinkinį.
  • negalima ištrinti vieno lentelės stulpelio. Galite ištrinti visą eilutę.

Tarkime, kad turime filmų, kuriuos norime ištrinti, sąrašą. Kartu su IN galime naudoti sąlygą WHERE.

DELETE FROM `movies` WHERE `movie_id` IN (20,21);

Vykdant pirmiau pateiktą scenarijų, iš mūsų filmų lentelės ištrinami filmai, kurių ID yra 20 ir 21.

Santrauka

  • „Delete“ komanda naudojama norint pašalinti iš lentelės nebereikalingus duomenis.
  • Sąlyga „WHERE“ naudojama norint apriboti eilučių, kurias paveikė užklausa DELETE, skaičių.
  • Ištrynus duomenis jų atkurti nebegalima, todėl prieš ištrinant duomenis primygtinai rekomenduojama atlikti atsargines kopijas.