MySQL SLETT Spørring: Slik sletter du en rad fra tabellen

Hva er SLETT-forespørselen?

MySQL Delete kommandoen brukes til å slette rader som ikke lenger er nødvendige fra databasetabellene. Den sletter hele raden fra tabellen og returnerer antall slettede rader. Delete-kommandoen er nyttig for å slette midlertidige eller foreldede data fra databasen.

Slett-spørringen i MySQL kan slette mer enn én rad fra en tabell i en enkelt spørring. Dette viser seg å være fordeler når du fjerner et stort antall rader fra en databasetabell.

En gang en Slett rad inn MySQL rad er slettet, kan den ikke gjenopprettes. Det anbefales derfor på det sterkeste å ta sikkerhetskopi av databasen før du sletter data fra databasen. Dette kan tillate deg å gjenopprette databasen og se dataene senere hvis det skulle være nødvendig.

Hvordan slette en rad i MySQL

For å slette en rad i MySQL, brukes DELETE FROM-setningen:

DELETE FROM `table_name` [WHERE condition];

HER

  • SLETT FRA `tabellnavn` forteller MySQL server for å fjerne rader fra tabellen ..
  • [WHERE condition] er valgfritt og brukes til å sette et filter som begrenser antall rader som påvirkes av DELETE-syntaksen MySQL radspørring.

Dersom HVOR klausul brukes ikke i MySQL SLETT forespørsel, så vil alle radene i en gitt tabell bli slettet.

Eksempel MySQL Slett spørring

Før vi går inn i en mer detaljert diskusjon om SQL DELETE-setningen, la oss sette inn noen eksempeldata i filmtabellen for å jobbe 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);

Utførelse av skriptet ovenfor legger til tre (3) filmer i filmtabellen. Før vi går videre inn i leksjonen vår, la oss få alle filmene i tabellen. Skriptet vist nedenfor gjør det.

SELECT * FROM `movies`;

Utførelse av skriptet ovenfor gir oss 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

La oss anta at Myflix-videobiblioteket ikke lenger ønsker å leie ut "The Great Dictator" til medlemmene, og de vil ha det fjernet fra databasen. Film-ID-en er 18, vi kan bruke skriptet vist nedenfor for å slette rad fra tabellen MySQL eksempel.

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

Utfører skriptet ovenfor i MySQL arbeidsbenk mot Myflix sletter filmen med id 18 fra databasetabellen.

La oss se gjeldende 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

NOTAT:

  • filmen med id 18 har ikke blitt returnert i søkeresultatsettet.
  • du kan ikke slette en enkelt kolonne for en tabell. Du kan slette en hel rad.

La oss si at vi har en liste over filmer vi ønsker å slette . Vi kan bruke WHERE-klausulen sammen med IN.

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

Utførelse av skriptet ovenfor sletter filmer med ID 20 og 21 fra filmtabellen vår.

Sammendrag

  • Kommandoen Slett inn MySQL, brukes til å fjerne data som ikke lenger er nødvendig fra en tabell.
  • "WHERE-klausulen" brukes til å begrense antall rader som påvirkes av DELETE-spørringen MySQL kommando.
  • Når data er slettet, kan de ikke gjenopprettes, det anbefales derfor på det sterkeste å ta sikkerhetskopier før du sletter data.