Vad är DELETE Query?
MySQL DELETE- kommandot används för att radera rader som inte längre krävs från databastabellerna. Det raderar hela raden från tabellen och returnerar antalet raderade rader. Delete-kommandot är användbart för att ta bort tillfälliga eller föråldrade data från din databas.
Radera frågan i MySQL kan ta bort mer än en rad från en tabell i en enda fråga. Detta visar sig vara fördelar när man tar bort ett stort antal rader från en databastabell.
När en Radera rad i MySQL-rad har raderats kan den inte återställas. Det rekommenderas därför starkt att säkerhetskopiera databaser innan du raderar data från databasen. Detta kan göra det möjligt för dig att återställa databasen och visa data senare om det skulle krävas.
Så här tar du bort en rad i MySQL
För att radera en rad i MySQL används DELETE FROM-uttalandet:
DELETE FROM `table_name` [WHERE condition];
HÄR
- RADERA FRÅN 'tabellnamn' säger till MySQL-servern att ta bort rader från tabellen ...
- [WHERE condition] är valfritt och används för att placera ett filter som begränsar antalet rader som påverkas av MySQL DELETE-radfrågan.
Om WHERE-satsen inte används i MySQL DELETE-frågan tas alla rader i en given tabell bort.
Exempel på MySQL Delete Query
Innan vi går in på mer detaljer diskussion kommandot RADERA, låt oss infoga några exempeldata i filmtabellen för att arbeta 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);
Genom att utföra ovanstående skript läggs tre (3) filmer till i filmtabellen. Innan vi går vidare in i vår lektion, låt oss få alla filmer i vårt bord. Manuset som visas nedan gör det.
SELECT * FROM `movies`;
Att utföra ovanstående skript ger oss följande resultat.
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 |
Låt oss anta att Myflix-videobiblioteket inte längre vill hyra ut "The Great Dictator" till sina medlemmar och de vill att det ska tas bort från databasen. Dess film-id är 18, vi kan använda manuset som visas nedan för att ta bort raden från filmtabellen.
DELETE FROM `movies` WHERE `movie_id` = 18;
Genom att utföra ovanstående skript i MySQL WorkBench mot Myflix raderas filmen med id 18 från databastabellen.
Låt oss se den aktuella statusen för 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 |
NOTERA:
- filmen med id 18 har inte returnerats i sökresultatuppsättningen.
- Du kan inte ta bort en enda kolumn för en tabell. Du kan radera en hel rad.
Låt oss säga att vi har en lista över filmer som vi vill ta bort. Vi kan använda WHERE-klausulen tillsammans med IN.
DELETE FROM `movies` WHERE `movie_id` IN (20,21);
Genom att utföra ovanstående skript raderas filmer med ID 20 och 21 från vårt filmtabell.
Sammanfattning
- Radera-kommandot används för att ta bort data som inte längre krävs från en tabell.
- "WHERE-satsen" används för att begränsa antalet rader som påverkas av DELETE-frågan.
- När data har raderats kan de inte återställas. Det rekommenderas därför att säkerhetskopiera innan du raderar data.