V MySQL můžete data mazat stejně snadno, jako je můžete dotazovat nebo aktualizovat.
SQL DELETE
Prohlášení
Použijte SQL DELETE
příkaz k odstranění dat z vaší databáze. Stejně jako SELECT
a UPDATE
příkazy DELETE
příkaz přijímá WHERE
klauzule, abyste mohli určit přesné záznamy, které chcete odstranit.
Syntaxe
DELETE FROM table_name WHERE column_name = value;
Příklad
-
Data
Zde jsou data, než něco smažeme.
-
Smazat některá data
Vyškrtneme červené hrozny z našeho seznamu ovoce. Červeným hroznům bylo přiřazeno FruitId z
5
takže to použijeme v našemDELETE
prohlášení.DELETE FROM Fruit WHERE FruitId = 5;
-
Výsledek
Pokud spustíme výše uvedený kód a poté vybereme všechny řádky z tabulky, uvidíme, že záznam byl smazán.
Smazat všechny záznamy
Všechny záznamy v tabulce můžete celkem snadno smazat. Ve skutečnosti je snazší smazat vše než odstranit jeden konkrétní záznam.
-
Kodex
Chcete-li smazat vše záznamy v tabulce, stačí vynechat
WHERE
doložka. Takhle:DELETE FROM Fruit;
-
Výsledek
Jejda... Žádné další záznamy!
Jak si dokážete představit, vyplatí se být velmi opatrní při používání DELETE
prohlášení. Zde může pomoci režim Bezpečné aktualizace (jak jsme uvedli při aktualizaci našich dat).
Jak se ukázalo, byl jsem schopen spustit výše uvedené prohlášení pouze po deaktivaci režimu bezpečných aktualizací. Takže před spuštěním tohoto příkazu jsem spustil následující příkaz:
SET SQL_SAFE_UPDATES = 0;
Takže teď je pravděpodobně vhodná chvíle, abych znovu povolil Bezpečné aktualizace – než způsobím další škody…
SET SQL_SAFE_UPDATES = 1;
Obnovte data
Nyní, když jsme vymazali všechny záznamy z Ovoce tabulky, uvidíme, zda je dokážeme obnovit na původní hodnotu. Naštěstí pro nás jsme dříve napsali skript pro vkládání dat do našich tabulek.
-
Kodex
Takže vyjmeme bit, který zaplňuje Ovoce tabulku a spusťte to:
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');
-
Výsledek
Nyní by naše tabulka měla vypadat jako dříve, když jsme původně naplňovali data.