MariaDB оператор DELETE

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

Описание

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

Синтаксис

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

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

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

table
Таблица, из которой вы хотите удалить записи.
WHERE conditions
Необязательный. Условия, которые должны быть выполнены для удаления записей. Если никаких условий не предусмотрено, все записи из таблицы будут удалены.
ORDER BY expression
Необязательный. Может использоваться в сочетании с LIMIT для надлежащей сортировки записей при ограничении количества удаляемых записей.
LIMIT number_rows
Необязательный. Если указан LIMIT, он контролирует максимальное количество записей, которые нужно удалить из таблицы. Самое большее, количество записей, указанное в number_rows, будет удалено из таблицы.

Примечание

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

Пример с одним условием

Давайте посмотрим, как использовать оператор DELETE с одним условием в MariaDB.
Например:

В этом примере удаляются все записи из таблицы sites, где site_name - "Google.com".
Вы можете определить количество строк, которые будут удалены, выполнив следующий оператор SELECT перед выполнением удаления.

Пример с несколькими условиями

Далее давайте посмотрим, как использовать оператор DELETE с несколькими условиями в MariaDB.
Например:

В этом примере будут удалены все записи из таблицы sites, где site_name имеет значение "Google.com", а site_id больше или равно 65.
Вы можете определить количество строк, которые будут удалены, выполнив следующий оператор SELECT перед выполнением удаления.

Пример с модификатором LIMIT

Давайте посмотрим, как использовать оператор DELETE с модификатором LIMIT в MariaDB. Модификатор LIMIT используется для контроля количества удаляемых записей.
Например:

Этот пример удаления MariaDB удалит одну запись из таблицы sites (как указано в LIMIT 3), где site_name - "Google.com". Весь запрос DELETE сортируется в порядке возрастания по site_id, поэтому только три записи с наименьшими значениями site_id, у которых site_name равно "Google.com", быть удалены из таблицы. Все остальные записи в таблице sites с site_name из "Google.com" останутся в таблице.
Если вы хотите вместо этого удалить три самых больших значения site_id, для которых site_name - "Google.com", вы можете переписать оператор DELETE следующим образом:

Пример - использование условия EXISTS

Вы также можете выполнять более сложные удаления.
Вы можете удалить записи из одной таблице на основе значений другой таблицы. Поскольку вы не можете перечислить более одной таблицы в MariaDB операторе FROM при выполнении удаления, вы можете использовать оператор EXISTS.
Например:

В этом примере DELETE будут удалены все записи в таблице sites, в которой есть запись в таблице pages, у которой site_id меньше или равен 45 и site_id соответствует таблицам pages и sites.
Вы можете определить количество строк, которые будут удалены, выполнив следующий оператор SELECT перед выполнением удаления.