In MySQL kunt u gegevens net zo gemakkelijk verwijderen als opvragen of bijwerken.
SQL DELETE
Verklaring
Gebruik de SQL DELETE
statement om gegevens uit uw database te verwijderen. Zoals de SELECT
en UPDATE
instructies, de DELETE
statement accepteert een WHERE
clausule zodat u de exacte record(s) kunt specificeren die u wilt verwijderen.
Syntaxis
DELETE FROM table_name WHERE column_name = value;
Voorbeeld
-
De gegevens
Dit zijn de gegevens voordat we iets verwijderen.
-
Een aantal gegevens verwijderen
Laten we rode druiven van onze fruitlijst schrappen. Rode druiven hebben een FruitId . gekregen van
5
dus we zullen dat gebruiken in onzeDELETE
verklaring.DELETE FROM Fruit WHERE FruitId = 5;
-
Het resultaat
Als we de bovenstaande code uitvoeren en vervolgens alle rijen uit de tabel selecteren, kunnen we zien dat de record is verwijderd.
Alle records verwijderen
U kunt vrij eenvoudig alle records in een tabel verwijderen. Het is eigenlijk gemakkelijker om alles te verwijderen records dan om één specifiek record te verwijderen.
-
De code
Om alles te verwijderen records in een tabel, laat gewoon de
WHERE
. weg clausule. Zoals dit:DELETE FROM Fruit;
-
Het resultaat
Oeps... Geen records meer!
Zoals je je kunt voorstellen, loont het om heel voorzichtig te zijn bij het gebruik van de DELETE
uitspraak. Dit is waar de modus Veilige updates kan helpen (zoals we hebben besproken bij het bijwerken van onze gegevens).
Het bleek dat ik de bovenstaande verklaring alleen kon uitvoeren nadat ik de modus Veilige updates had uitgeschakeld. Dus, voordat ik die verklaring uitvoerde, voerde ik de volgende opdracht uit:
SET SQL_SAFE_UPDATES = 0;
Dus nu is het waarschijnlijk een goed moment voor mij om Veilige updates weer in te schakelen - voordat ik nog meer schade aanricht...
SET SQL_SAFE_UPDATES = 1;
Herstel de gegevens
Nu we alle records van de Fruit . hebben gewist tabel, laten we eens kijken of we ze naar hun oorspronkelijke waarde kunnen herstellen. Gelukkig voor ons hebben we eerder een script geschreven om gegevens in onze tabellen in te voegen.
-
De code
Dus laten we het stukje eruit halen dat de Fruit vult tabel en voer dat uit:
INSERT INTO Fruit VALUES (1,'Apple',10,1,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (2,'Orange',5,2,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (3,'Banana',20,6,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (4,'Watermelon',10,1,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (5,'Grapes',15,6,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (6,'Strawberry',12,7,'2015-02-15 10:30:00','2015-02-15 10:30:00');
-
Het resultaat
Nu zou onze tabel eruit moeten zien zoals eerder toen we de gegevens voor het eerst vulden.