В MySQL можете да изтривате данни също толкова лесно, колкото можете да ги заявите или да ги актуализирате.
SQL DELETE
Изявление
Използвайте SQL DELETE
изявление за изтриване на данни от вашата база данни. Като SELECT
и UPDATE
оператори, DELETE
оператор приема WHERE
клауза, така че да можете да посочите точния запис/и за изтриване.
Синтаксис
DELETE FROM table_name WHERE column_name = value;
Пример
-
Данните
Ето данните, преди да изтрием нещо.
-
Изтрийте някои данни
Нека изтрием червеното грозде от нашия списък с плодове. На червеното грозде е присвоен FruitId от
5
така че ще използваме това в нашияDELETE
изявление.DELETE FROM Fruit WHERE FruitId = 5;
-
Резултатът
Ако изпълним горния код, след което изберем всички редове от таблицата, можем да видим, че записът е изтрит.
Изтриване на всички записи
Можете да изтриете всички записи в таблица доста лесно. Всъщност е по-лесно да изтриете всички записи, отколкото да изтриете един конкретен запис.
-
Кодът
За да изтриете всички записи в таблица, просто пропуснете
WHERE
клауза. Като това:DELETE FROM Fruit;
-
Резултатът
Ами сега... Няма повече записи!
Както можете да си представите, струва си да бъдете много внимателни, когато използвате DELETE
изявление. Това е мястото, където режимът на безопасни актуализации може да помогне (както обхванахме, когато актуализирахме нашите данни).
Както се оказа, успях да изпълня горното изявление само след като деактивирах режима на безопасни актуализации. И така, преди да изпълня това изявление, изпълних следната команда:
SET SQL_SAFE_UPDATES = 0;
Така че сега вероятно е добър момент да активирам безопасните актуализации отново — преди да нанеса повече щети...
SET SQL_SAFE_UPDATES = 1;
Възстановяване на данните
Сега, когато изтрихме всички записи от Fruit таблица, нека видим дали можем да ги възстановим до първоначалната им стойност. За наше щастие, преди написахме скрипт за вмъкване на данни в нашите таблици.
-
Кодът
Така че нека извадим частта, която запълва Плод таблица и стартирайте това:
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');
-
Резултатът
Сега нашата таблица трябва да изглежда както по-рано, когато първоначално попълнихме данните.