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коновата долина" - изтриване на данни