5.1 Изтриване на изявление
Това, което се прави лесно в SQL, е изтриването на данни. Можете да изтриете абсолютно всичко много бързо и никой дори няма да ви иска потвърждение.
Нека започнем с най-простия сценарий: How да изтриете един ред в table .
Това е сценарият, който ще видите най-често, обикновено е изтриването на конкретен запис и стандартната заявка обикновено изглежда така:
DELETE FROM table
WHERE id = 133;
Това е единствената заявка, при която не е необходимо да посочвате имената на колоните: в крайна сметка данните се изтриват незабавно в редове.
Вторият сценарий е изтриване на редовете, които са дадени от id list , тук всичко също е доста просто:
DELETE FROM table
WHERE id IN (1, 2, 3, …);
Третият сценарий е да премахнете редове, които отговарят на определено condition:
DELETE FROM table
WHERE condition;
Да кажем, че искаме да уволним всички наши програмисти, тогава трябва да напишем заявка като:
DELETE FROM employee
WHERE occupation = 'Programmer';
И накрая, ако искате да изтриете всички записи, можете да напишете заявка като тази:
DELETE FROM table
Тази проста заявка е достатъчна, за да премахнете всички записи от table. Между другото, в този случай няма да има Ctrl + Z. Записите просто се изтриват без възможност за възстановяване и това е всичко. Затова правете резервни копия по-често .
5.2 Премахване на всичко
За бързо премахване (за добавяне на главоболия на потребителите), SQL има още няколко команди.
Как бързо да изтриете всички данни в table? Използвайте оператора TRUNCATE
:
TRUNCATE TABLE table
Една печатна грешка в името на tableта - и ви се предоставят няколко дни за възстановяване на данни. Радвайте се, че не сте администратор на база данни.
Ако трябва да изтриете не само данните в tableта, но и самата table, тогава има оператор DROP
за това :
DROP TABLE table
Между другото, има подобни опции със схеми на бази данни . Ако искате да изтриете самата база данни, тогава:
DROP SCHEME database
or:
DROP DATABASE database
Можете също да използвате DROP, за да изтриете:
- СЪБИТИЕ
- ФУНКЦИЯ
- ПРОЦЕДУРА
- ИНДЕКС
- ПРЕГЛЕД
- ТРИГЕР
И ето няколко интересни истории, свързани с изтриването на данни:
Почивка на деня. GitLab изтри 300 GB клиентски данни поради грешка на системния администратор
sudo rm -rf, or Хроника на инцидента с база данни GitLab.com от 31.01.2017 г.
Сorконовата долина "Сorконовата долина" - изтриване на данни