Какво прави SQL-операторът Delete?

09.03.2020

При работа с бази данни често е необходимо да се изтрият един или повече редове от данни. За изпълнение на това действие има специален оператор в SQL - Delete.

Изтриване на синтаксис

Една от често използваните операции при работа с бази данни е операторът да изтрие определен брой редове. . За да премахнете допълнителните записи от таблицата, достатъчно е да използвате специалната функция SQL - D elete .

sql delete

Синтаксисът на този оператор е същият като вмъкването и модифицирането на записи. Ключовата дума DELETE е последвана от конструкция, указваща таблицата, в която ще се извърши изтриването - FROM и името на таблицата. След това идва незадължителната част от синтаксичната структура на оператора, която може да съдържа указания, които еднозначно дефинират една или повече редове.

DELETE FROM <име на таблица> [WHERE <predicate>].

Едно възможно изречение започва с ключовата дума "WHERE", последвана от набор от предикати. Възможно е да се посочи както изричната стойност на конкретно поле, обозначавайки го като единично или изброяване, или като определен обхват или условие. В предиката можете също да използвате вложени условия, например, за да изтриете само тези записи, които се съдържат или липсват в друга таблица.

Пример за изтриване на няколко или всички записи

За да изтриете запис, трябва да използвате опционалната част от структурата на функцията Изтриване. MS SQL поддържа само една спецификация на данните, използвайки ключовата дума WHERE. Следователно, параметрите за търсене на низ за търсене трябва да се посочат само след него.

Ако е необходимо да изчистите таблицата, не е необходимо да използвате допълнителната част от структурата, достатъчно е просто да укажете името на таблицата в синтаксиса SQL Delete по-горе. Пример за изтриване на всички записи е, както следва:

Изтриване от "table_1".

Тази заявка ще изчисти таблицата с името "table_1". Заслужава да се отбележи, че в този случай заличаването на самата таблица няма да се случи - за това е необходимо да се използват други средства на езика SQL.

sql изтриване например

Ако трябва да изтриете само тези записи, които отговарят на специфично изискване, трябва да добавите оператор за условие. Например в следния пример функцията SQL Delete ще изтрие всички редове в таблицата Персонал, които имат стойността Ivan в полето Име:

ИЗТРИВАНЕ ОТ "Персонал" WHERE "Име" = "Иван".

Ако е необходимо, можете да посочите няколко условия в една заявка, като ги комбинирате с логическите "И" и "ИЛИ". В следния пример всички записи, в които името на служителя "Иван" или "Олег" ще бъде изтрито:

DELETE FROM "Персонал" WHERE "Име" = "Иван" ИЛИ "Име" = "Олег".

Пример за изтриване на един запис

Въпреки това, при изтриването не винаги е необходимо да се изтриват всички редове, които отговарят на условието. За да постигнете изтриване на данни само от определен брой редове, трябва да добавите ключовата дума LIMIT към структурата на функцията SQL Delete, след което посочете изричната стойност на редовете, които искате да изтриете.

изтриване на ms slq

В следващия пример само две записи на служители на име Ivan ще бъдат изтрити от таблицата Персонал:

DELETE FROM "Персонал" WHERE "Име" = "Иван" LIMIT 2.

Трябва да се отбележи, че при извършване на операцията по изтриване на редове, трябва да се обърне внимание на правилността на писането на заявки. В случай на грешка в синтаксиса или условието може да възникне прекомерно изтриване на редове, което автоматично ще бъде почти невъзможно да се върне в таблицата.