В этом учебном пособии вы узнаете, как использовать оператор DELETE LIMIT в MariaDB с синтаксисом и примерами.
Описание
MariaDB оператор DELETE LIMIT используется для удаления записей из таблицы в MariaDB и ограничения количества удаляемых записей на основе значения LIMIT.
Синтаксис
Синтаксис оператора DELETE LIMIT в MariaDB:
[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, так как вы удаляете всю строку из таблицы.
Пример
Давайте посмотрим, как использовать оператор DELETE с модификатором LIMIT в MariaDB.
Например:
1 2 3 4 |
DELETE FROM sites WHERE site_name = 'Google.com' ORDER BY site_id DESC LIMIT 3; |
Этот пример DELETE LIMIT удалит первые 3 записи из таблицы sites, где site_name - "Google.com". Обратите внимание, что результаты сортируются по site_id в порядке убывания, поэтому это означает, что 3 самых больших значения site_id будут удалены оператором DELETE LIMIT.
Если в таблице sites есть другие записи, которые имеют site_name из "Google.com", они не будут удалены оператором DELETE LIMIT в MariaDB.
Если бы мы хотели удалить самые маленькие значения site_id вместо самых больших трех, мы могли бы изменить порядок сортировки следующим образом:
1 2 3 4 |
DELETE FROM sites WHERE site_name = 'Google.com' ORDER BY site_id ASC LIMIT 3; |
Теперь результаты будут отсортированы по site_id в порядке возрастания, поэтому первые две самые маленькие записи site_id, имеющие site_name из "Google.com" будет удален этим оператором DELETE LIMIT. Другие записи не будут затронуты.