MySQL DELETE-query: een rij uit een tabel verwijderen
Wat is de DELETE-query?
MySQL Verwijder commando wordt gebruikt om rijen die niet langer nodig zijn uit de databasetabellen te verwijderen. Het verwijdert de hele rij uit de tabel en retourneert het aantal verwijderde rijen. De verwijderopdracht is handig om tijdelijke of verouderde gegevens uit uw database te verwijderen.
De verwijderquery in MySQL kan meer dan één rij uit een tabel verwijderen in één query. Dit blijkt voordelen te hebben bij het verwijderen van grote aantallen rijen uit een databasetabel.
Eenmaal een rij Verwijderen in MySQL rij is verwijderd, kan deze niet worden hersteld. Het wordt daarom sterk aanbevolen om databaseback-ups te maken voordat u gegevens uit de database verwijdert. Hiermee kunt u de database herstellen en de gegevens later bekijken als dat nodig is.
Hoe een rij te verwijderen in MySQL
Om een rij te verwijderen in MySQL, wordt de DELETE FROM-instructie gebruikt:
DELETE FROM `table_name` [WHERE condition];
HIER
- DELETE FROM `tabelnaam` vertelt MySQL server om rijen uit de tabel te verwijderen ..
- [WHERE-voorwaarde] is optioneel en wordt gebruikt om een filter te plaatsen dat het aantal rijen beperkt dat wordt beïnvloed door de DELETE-syntaxis MySQL rij vraag.
Indien de WHERE-clausule wordt niet gebruikt in de MySQL VERWIJDER vraag, dan worden alle rijen in een bepaalde tabel verwijderd.
Voorbeeld MySQL Vraag verwijderen
Voordat we dieper ingaan op de SQL DELETE-instructie, gaan we eerst wat voorbeeldgegevens in de filmtabel invoegen om mee te werken.
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);
Door het bovenstaande script uit te voeren, worden drie (3) films aan de filmtabel toegevoegd. Voordat we verder gaan met onze les, laten we eerst alle films in onze tabel zetten. Het onderstaande script doet dat.
SELECT * FROM `movies`;
Als u bovenstaand script uitvoert, krijgt u de volgende resultaten.
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 |
Stel dat de videotheek Myflix “De Grote Dictator” niet langer aan haar leden wil verhuren en deze uit de database wil verwijderen. De film-ID is 18. We kunnen het onderstaande script gebruiken om de rij uit de tabel te verwijderen MySQL voorbeeld.
DELETE FROM `movies` WHERE `movie_id` = 18;
Voer het bovenstaande script uit in MySQL Werkbank tegen de Myflix verwijdert de film met id 18 uit de databasetabel.
Laten we de huidige status van de filmtabel bekijken.
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 |
NOTITIE:
- de film met id 18 is niet teruggekeerd in de queryresultatenset.
- u kunt geen enkele kolom voor een tabel verwijderen. U kunt een hele rij verwijderen.
Laten we zeggen dat we een lijst hebben met films die we willen verwijderen. We kunnen de WHERE-clausule samen met IN gebruiken.
DELETE FROM `movies` WHERE `movie_id` IN (20,21);
Als u het bovenstaande script uitvoert, worden films met ID's 20 en 21 uit onze filmtabel verwijderd.
Samenvatting
- Het commando Verwijderen in MySQL, wordt gebruikt om gegevens die niet langer nodig zijn uit een tabel te verwijderen.
- De “WHERE-clausule” wordt gebruikt om het aantal rijen te beperken dat wordt beïnvloed door de DELETE-query MySQL opdracht.
- Zodra gegevens zijn verwijderd, kunnen deze niet meer worden hersteld. Daarom raden wij u ten zeerste aan om een back-up te maken voordat u gegevens verwijdert.