I MySQL kan du radera data lika enkelt som du kan fråga dem eller uppdatera dem.
SQL DELETE
Uttalande
Använd SQL DELETE
uttalande för att radera data från din databas. Som SELECT
och UPDATE
satser, DELETE
uttalandet accepterar en WHERE
så att du kan ange exakta post/er som ska raderas.
Syntax
DELETE FROM table_name WHERE column_name = value;
Exempel
-
Datan
Här är informationen innan vi raderar något.
-
Radera vissa data
Låt oss ta bort röda druvor från vår lista över frukt. Röda druvor har tilldelats ett FruitId av
5
så vi kommer att använda det i vårDELETE
uttalande.DELETE FROM Fruit WHERE FruitId = 5;
-
Resultatet
Om vi kör ovanstående kod, välj sedan alla rader från tabellen, vi kan se att posten har raderats.
Ta bort alla poster
Du kan ta bort alla poster i en tabell ganska enkelt. Det är faktiskt lättare att ta bort alla poster än att radera en specifik post.
-
Koden
För att radera alla poster i en tabell, utelämna bara
WHERE
klausul. Så här:DELETE FROM Fruit;
-
Resultatet
Hoppsan... Inga fler poster!
Som du kan föreställa dig lönar det sig att vara mycket försiktig när du använder DELETE
påstående. Det är här läget Säkra uppdateringar kan hjälpa (som vi täckte när vi uppdaterade vår data).
Som det visar sig kunde jag bara köra ovanstående uttalande efter att ha inaktiverat läget Säkra uppdateringar. Så innan jag körde det uttalandet körde jag följande kommando:
SET SQL_SAFE_UPDATES = 0;
Så nu är det förmodligen en bra tid för mig att aktivera säkra uppdateringar igen — innan jag gör någon mer skada...
SET SQL_SAFE_UPDATES = 1;
Återställ data
Nu när vi har raderat alla poster från Fruit tabell, låt oss se om vi kan återställa dem till deras ursprungliga värde. Lyckligtvis för oss skrev vi tidigare ett skript för att infoga data i våra tabeller.
-
Koden
Så låt oss ta ut biten som fyller frukten tabell och kör det:
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');
-
Resultatet
Nu borde vår tabell se ut som den gjorde tidigare när vi först fyllde i data.