DELETE LIMIT оператор MySQL

В этом учебном пособии вы узнаете, как использовать оператор DELETE LIMIT в MySQL с синтаксисом и примерами.

Описание

MySQL оператор DELETE LIMIT используется для удаления записей из таблицы в MySQL и ограничения количества записей, удаленных на основе предельного значения.

Синтаксис

Синтаксис оператора DELETE LIMIT в MySQL:

DELETE FROM table
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]]
LIMIT row_count;

Параметры или аргументы

table - таблица, из которой вы хотите удалить записи.
WHERE conditions - необязательный. Условия, которые должны быть выполнены для записей, подлежащих удалению.
ORDER BY expression - необязательный. Он используется в инструкции DELETE LIMIT, чтобы вы могли заказывать результаты и настраивать те записи, которые вы хотите удалить.
LIMIT row_count - задает ограниченное количество строк в результирующем наборе для удаления на основании параметра row_count. Например, LIMIT 10 удалит первые 10 строк, соответствующих критериям удаления. В этом случае порядок сортировки имеет значение, поэтому обязательно используйте предложение ORDER BY соответствующим образом.

Примечание

  • Вам не нужно указывать поля в инструкции DELETE LIMIT MySQL, так как вы удаляете всю строку из таблицы.

Пример

Рассмотрим пример, как использовать оператор DELETE с предложением LIMIT в MySQL.
Например:

Этот пример DELETE LIMIT удалит первые 2 записи из таблицы contacts, где website является 'bestsite.net'. Обратите внимание, что результаты сортируются по адресу contact_id в порядке убывания, так что это означает, что два наибольших значения contact_id будут удалены оператором DELETE LIMIT.
Если в таблице contacts есть другие записи, имеющие website со значением 'bestsite.net', то они не будут удалены оператором DELETE LIMIT в MySQL.

Если бы мы хотели бы удалить наименьшие значения contact_id вместо двух наибольших, то мы могли бы изменить порядок сортировки следующим образом:

Теперь результаты будут отсортированы по contact_id в порядке возрастания, поэтому первые две наименьшие записи contact_id, содержащие в поле website значение 'bestsite.net', будут удалены оператором DELETE LIMIT. Никакие другие записи не будут затронуты.