MySQL DELETE Query: rij uit een tabel verwijderen

Inhoudsopgave:

Anonim

Wat is de zoekopdracht VERWIJDEREN?

Het MySQL DELETE- commando wordt gebruikt om rijen te verwijderen die niet langer nodig zijn uit de databasetabellen. Het verwijdert de hele rij uit de tabel en retourneert het aantal verwijderde rijen. De opdracht Verwijderen is handig om tijdelijke of verouderde gegevens uit uw database te verwijderen.

De verwijderquery in MySQL kan in een enkele query meer dan één rij uit een tabel verwijderen. Dit blijkt voordelen te zijn bij het verwijderen van grote aantallen rijen uit een databasetabel.

Als een rij Verwijderen in de MySQL-rij eenmaal 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, mocht dit nodig zijn.

Hoe een rij in MySQL te verwijderen

Om een ​​rij in MySQL te verwijderen, wordt de DELETE FROM-instructie gebruikt:

DELETE FROM `table_name` [WHERE condition];

HIER

  • DELETE FROM `table_name` vertelt de 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 MySQL DELETE-rijquery.

Als de WHERE-clausule niet wordt gebruikt in de MySQL DELETE-query, worden alle rijen in een bepaalde tabel verwijderd.

Voorbeeld van MySQL-verwijderquery

Voordat we verder ingaan op de bespreking van de DELETE-opdracht, laten we wat voorbeeldgegevens invoegen in de filmtabel 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 toegevoegd aan de filmtabel. Voordat we verder gaan met onze les, laten we alle films in onze tabel bekijken. Het onderstaande script doet dat.

SELECT * FROM `movies`;

Het uitvoeren van het bovenstaande script geeft ons de volgende resultaten.

 
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

Laten we aannemen dat de Myflix-videobibliotheek niet langer "The Great Dictator" aan zijn leden wil verhuren en dat ze het uit de database willen verwijderen. De film-ID is 18, we kunnen het onderstaande script gebruiken om de rij uit de filmtabel te verwijderen.

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

Het uitvoeren van het bovenstaande script in MySQL WorkBench tegen de Myflix verwijdert de film met id 18 uit de databasetabel.

Laten we eens kijken naar de huidige status van de filmtafel.

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 geretourneerd in de queryresultaatset.
  • u kunt geen enkele kolom voor een tabel verwijderen. U kunt een hele rij verwijderen.

Stel dat we een lijst hebben met films die we willen verwijderen. We kunnen de WHERE-component samen met IN gebruiken.

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

Door het bovenstaande script uit te voeren, worden films met ID's 20 en 21 uit onze filmtabel verwijderd.

Overzicht

  • De delete-opdracht 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.
  • Als de gegevens eenmaal zijn verwijderd, kunnen ze niet meer worden hersteld. Het wordt daarom ten zeerste aanbevolen een back-up te maken voordat u gegevens verwijdert.