MySQL SLET Forespørgsel: Sådan sletter du en række fra tabellen

Hvad er SLET-forespørgslen?

MySQL Slette kommandoen bruges til at slette rækker, der ikke længere er nødvendige fra databasetabellerne. Det sletter hele rækken fra tabellen og returnerer antallet af slettede rækker. Delete-kommandoen er praktisk til at slette midlertidige eller forældede data fra din database.

Slet-forespørgslen i MySQL kan slette mere end én række fra en tabel i en enkelt forespørgsel. Dette viser sig at være fordele, når du fjerner et stort antal rækker fra en databasetabel.

En gang en Slet række ind MySQL rækken er blevet slettet, den kan ikke gendannes. Det anbefales derfor kraftigt at lave databasesikkerhedskopier, før du sletter data fra databasen. Dette kan give dig mulighed for at gendanne databasen og se dataene senere, hvis det skulle være nødvendigt.

Sådan sletter du en række i MySQL

For at slette en række i MySQL, bruges DELETE FROM-sætningen:

DELETE FROM `table_name` [WHERE condition];

HER

  • SLET FRA `table_name` fortæller MySQL server for at fjerne rækker fra tabellen ..
  • [WHERE condition] er valgfri og bruges til at sætte et filter, der begrænser antallet af rækker, der påvirkes af DELETE-syntaksen MySQL rækkeforespørgsel.

Hvis WHERE-klausul bruges ikke i MySQL SLET forespørgsel, så vil alle rækkerne i en given tabel blive slettet.

Eksempel MySQL Slet forespørgsel

Før vi går ind i en mere detaljeret diskussion om SQL DELETE-sætningen, lad os indsætte nogle eksempeldata i filmtabellen for at arbejde med.

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

Udførelse af ovenstående script tilføjer tre (3) film til filmtabellen. Inden vi går længere ind i vores lektion, lad os få alle filmene i vores tabel. Scriptet vist nedenfor gør det.

SELECT * FROM `movies`;

Udførelse af ovenstående script giver os følgende resultater.

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

Lad os antage, at Myflix-videobiblioteket ikke længere ønsker at udleje "Den Store Diktator" til sine medlemmer, og de vil have det fjernet fra databasen. Dens film-id er 18, vi kan bruge scriptet vist nedenfor til at slette række fra tabellen MySQL eksempel.

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

Udførelse af ovenstående script i MySQL Arbejdsbænk mod Myflix sletter filmen med id 18 fra databasetabellen.

Lad os se den aktuelle status for filmtabellen.

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

BEMÆRK VENLIGST:

  • filmen med id 18 er ikke blevet returneret i forespørgselsresultatsættet.
  • du kan ikke slette en enkelt kolonne for en tabel. Du kan slette en hel række.

Lad os sige, at vi har en liste over film, vi vil slette . Vi kan bruge WHERE-sætningen sammen med IN.

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

Udførelse af ovenstående script sletter film med ID 20 og 21 fra vores filmtabel.

Resumé

  • Kommandoen Slet ind MySQL, bruges til at fjerne data, der ikke længere er nødvendige fra en tabel.
  • "WHERE-sætningen" bruges til at begrænse antallet af rækker, der påvirkes af DELETE-forespørgslen MySQL kommando.
  • Når data først er blevet slettet, kan de ikke gendannes, det anbefales derfor kraftigt at lave sikkerhedskopier før sletning af data.