MySQL DELETE Fråga: Hur man tar bort en rad från tabell
Vad är DELETE-frågan?
MySQL Radera kommandot används för att ta bort rader som inte längre behövs från databastabellerna. Den tar bort hela raden från tabellen och returnerar antalet raderade rader. Delete-kommandot är praktiskt 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.
En gång en rad i rad MySQL raden har tagits bort, den kan inte återställas. Det rekommenderas därför starkt att säkerhetskopiera databas innan du raderar data från databasen. Detta kan tillåta dig att återställa databasen och se data senare om det skulle behövas.
Hur man tar bort en rad i MySQL
För att radera en rad i MySQL, används DELETE FROM-satsen:
DELETE FROM `table_name` [WHERE condition];
HÄR
- DELETE FROM `tabellnamn` berättar MySQL server för att ta bort rader från tabellen ..
- [WHERE condition] är valfritt och används för att sätta ett filter som begränsar antalet rader som påverkas av DELETE-syntaxen MySQL radfråga.
Om VAR klausul används inte i MySQL DELETE-fråga, då kommer alla rader i en given tabell att raderas.
Exempel på MySQL Ta bort fråga
Innan vi går in i mer detaljerad diskussion om SQL DELETE-satsen, låt oss infoga några exempeldata i filmtabellen 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 köra ovanstående manus läggs tre (3) filmer till i filmtabellen. Innan vi går längre in på vår lektion, låt oss få alla filmer i vårt bord. Skriptet som visas nedan gör det.
SELECT * FROM `movies`;
Att köra skriptet ovan ger oss följande resultat.
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 |
Låt oss anta att Myflix videobibliotek 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 skriptet som visas nedan för att ta bort rad från tabellen MySQL exempel.
DELETE FROM `movies` WHERE `movie_id` = 18;
Exekvera skriptet ovan i MySQL Arbetsbänk mot Myflix tar bort 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 |
OBS:
- filmen med id 18 har inte returnerats i frågeresultatuppsättningen.
- du kan inte ta bort en enda kolumn för en tabell. Du kan ta bort 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-satsen tillsammans med IN.
DELETE FROM `movies` WHERE `movie_id` IN (20,21);
Genom att köra skriptet ovan raderas filmer med ID 20 och 21 från vår filmtabell.
Sammanfattning
- Kommandot Ta bort in MySQL, används för att ta bort data som inte längre behövs från en tabell.
- "WHERE-satsen" används för att begränsa antalet rader som påverkas av DELETE-frågan MySQL kommando.
- När data väl har raderats kan de inte återställas, det rekommenderas därför starkt att säkerhetskopiera innan data raderas.