DELETE

Оператор DELETE знищує з таблиці рядки, що задовольняють заданим у where_definition умовам, і повертає кількість вилучених записів.

Якщо оператор DELETE запускається без визначення WHERE, то знищуються всі рядки.

Синтаксис:

DELTE [LOW_PRIORITY] FROM ім'я_таблиці [WHERE where_definition] [LIMIT rows]

Наприклад, наступна команда знищить з таблиці Persons усі записи, у яких поле «рік народження» (bday) більше 2003:

DELETE FROM Persons WHERE bday>2003;

Знищити всі записи в таблиці можна ще і за допомогою такої команди:

DELETE FROM Persons WHERE 1>0;

Але цей метод працює набагато повільніше, ніж використання тієї ж команди без умови:

DELETE FROM Persons;

Специфічна для MySQL опція LIMIT для команди DELETE вказує серверові максимальну кількість рядків, які варто знищити до повернення керування клієнтові. Ця опція може використовуватися для гарантії того, що дана команда DELETE не зажадає занадто багато часу для виконання.

DELETE FROM Persons WHERE name=’Alex’ LIMIT 0,4;

Цей запит видалить перших п’ять ’Alex’-ів з таблиці Persons.