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.