logo

Изявление MySQL DELETE

Изявлението MySQL DELETE се използва за премахване на записи от MySQL таблицата, които вече не са необходими в базата данни. Тази заявка в MySQL изтрива цял ред от таблицата и извежда броя на изтритите редове . Освен това ни позволява да изтрием повече от един запис от таблицата в рамките на една заявка, което е от полза при премахването на голям брой записи от таблица. С помощта на оператора за изтриване можем също да премахваме данни въз основа на условия.

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

Синтаксис:

По-долу е синтаксисът, който илюстрира как да използвате оператора DELETE:

преименуване на папка linux
 DELETE FROM table_name WHERE condition; 

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

Ако искаме да изтрием записи от множество таблици с помощта на една заявка DELETE, трябва да добавим ПРИСЪЕДИНЯВАНЕ клауза с командата DELETE.

Ако искаме да изтрием всички записи от таблица, без да знаем броя на изтритите редове, трябва да използваме СЪРЪЗНАТА ТАБЛИЦА изявление, което дава по-добра производителност.

Нека разберем как работи операторът DELETE MySQL чрез различни примери.

Примери за оператори MySQL DELETE

Тук ще използваме 'Служители' и 'плащане' таблици за демонстрация на оператора DELETE. Да предположим, че таблиците Служители и Плащания съдържат следните данни:

mysql заявка за изтриване
mysql заявка за изтриване

Ако искаме да изтрием служител, чийто emp_id е 107 , трябва да използваме оператора DELETE с клаузата WHERE. Вижте заявката по-долу:

ако иначе java
 mysql> DELETE FROM Employees WHERE emp_id=107; 

След изпълнението на заявката, тя ще върне резултата, както е показано на изображението по-долу. След като записът бъде изтрит, проверете таблицата с помощта на израза SELECT:

pyspark
mysql заявка за изтриване

Ако искаме да изтрием всички записи от таблицата, няма нужда да използваме клаузата WHERE с командата DELETE. Вижте кода по-долу и изхода:

mysql заявка за изтриване

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

MySQL клауза DELETE и LIMIT

Клаузата за ограничение на MySQL се използва за ограничаване на броя на връщаните редове от набора с резултати, вместо да извлича всички записи в таблицата. Понякога искаме да ограничим броя на редовете, които да бъдат изтрити от таблицата; в такъв случай ще използваме ОГРАНИЧЕНИЕ клауза, както следва:

 DELETE FROM table_name WHERE condition ORDER BY colm1, colm2, ... LIMIT row_count; 

Трябва да се отбележи, че редът на редовете в MySQL таблица не е определен. Затова винаги трябва да използваме ПОДРЕДЕНИ ПО клауза, докато използвате клаузата LIMIT.

Например , следната заявка първо сортира служителите според техните имена по азбучен ред и изтрива първите трима служители от таблицата:

 mysql> DELETE FROM Employees ORDER BY name LIMIT 3; 

Той ще даде следния резултат:

mysql заявка за изтриване

MySQL клауза DELETE и JOIN

Клаузата JOIN се използва за добавяне на две или повече таблици в MySQL. Ще добавим клаузата JOIN с оператора DELETE, когато искаме да изтрием записи от множество таблици в рамките на една заявка. Вижте заявката по-долу:

 mysql> DELETE Employees, Payment FROM Employees INNER JOIN Payment ON Employees.emp_id = Payment.emp_id WHERE Employees.emp_id = 102; 

Изход:

След изпълнението ще видим резултата като изображението по-долу:

показване на скрити приложения
mysql заявка за изтриване

За да прочетете повече информация за оператора DELETE с клаузата JOIN, Натисни тук .