DELETE FROM table_name
WHERE condition;
В этом операторе: __
Сначала укажите таблицу, из которой вы удаляете данные.Во-вторых, используйте условие, чтобы указать, какие строки следует удалить в предложении WHERE.Если строка соответствует условию, она будет удалена.Обратите внимание, что предложение WHERE является необязательным.Если вы пропустите предложение WHERE, инструкция DELETE удалит все строки в таблице.
Помимо удаления данных из таблицы, инструкция DELETE возвращает количество удаленных строк.
Чтобы удалить данныеиз нескольких таблиц, используя один оператор DELETE, вы используете оператор DELETE JOIN
, который мы рассмотрим в следующем уроке.
Чтобы удалить все строки в таблице без необходимости знать, сколько строк удалено, выследует использовать инструкцию TRUNCATE TABLE, чтобы повысить производительность.
Для таблицы, имеющей ограничение внешнего ключа, при удалении строк из родительской таблицы строки в дочерней таблице будут автоматически удалены с помощьюПараметр ON DELETE CASCADE.
Примеры MySQL DELETE Для демонстрации мы будем использовать таблицу сотрудников в примере базы данных.
MySQL DELETE - Таблица сотрудников
Обратите внимание, что после удаленияданные, это ушло.Поэтому вам следует сделать резервную копию вашей базы данных, прежде чем выполнять операторы DELETE в следующем разделе.Предположим, что вы хотите удалить сотрудников с номером офиса 4, вы используете оператор DELETE с предложением WHERE в качестве следующего запроса:
DELETE FROM employees
WHERE
officeCode = 4;
Чтобы удалить все строки из таблицы сотрудников, вы используетеОператор DELETE без предложения WHERE выглядит следующим образом:
DELETE FROM employees;
Все строки в таблице сотрудников удалены.
Предложение MySQL DELETE и LIMIT Если вы хотите ограничить количество строк доЧтобы быть удаленным, вы используете предложение LIMIT следующим образом:
DELETE FROM table
LIMIT row_count;
Обратите внимание, что порядок строк в таблице не определен, поэтому, когда вы используете предложение LIMIT, вы должны всегдаиспользуйте предложение ORDER BY.
DELETE FROM table_name
ORDER BY c1, c2, ...
LIMIT row_count;
Рассмотрим следующую таблицу клиентов в примере базы данных:
Например, следующий оператор сортирует клиентов по именам клиентов в алфавитном порядке иудаляет первые 10 клиентов:
DELETE FROM customers
ORDER BY customerName
LIMIT 10;
Аналогично, следующий оператор DELETE выбирает клиентов во Франции, сортирует их по кредитам limit в порядке возрастания и удаляет первых 5 клиентов: __
DELETE FROM customers
WHERE country = 'France'
ORDER BY creditLimit
LIMIT 5;