В этом учебном пособии вы узнаете, как использовать SQLite оператор DELETE с синтаксисом и примерами.
Описание
SQLite оператор DELETE используется для удаления одной или нескольких записей из таблицы в SQLite.
Синтаксис
Синтаксис оператора DELETE в SQLite:
[WHERE conditions];
Параметры или аргументы
table
Таблица, из которой вы хотите удалить записи.
WHERE conditions
Необязательный. Условия, которые должны быть выполнены для удаления записей. Если никаких условий не предусмотрено, то все записи в table будут удалены.
Примечание
- Вам не нужно перечислять поля в операторе SQLite DELETE, так как вы удаляете всю строку из таблицы.
- SQLite не поддерживает оператор DELETE LIMIT.
Пример - удаление с одним условием
Рассмотрим простой пример SQLite запроса DELETE, где у нас есть только одно условие в операторе DELETE.
Например:
1 2 |
DELETE FROM employees WHERE last_name = 'Samvel'; |
В этом SQLite примере DELETE удаляются все записи из таблицы employees, где last_name - 'Samvel'.
Вы можете определить количество строк, которые будут удалены, выполнив следующий SQLite запрос SELECT перед выполнением удаления.
1 2 3 |
SELECT count(*) FROM employees WHERE last_name = 'Samvel'; |
Пример - удаление с двумя условиями
Рассмотрим SQLite пример DELETE , где у нас есть только два условия в операторе DELETE.
Например:
1 2 3 |
DELETE FROM employees WHERE last_name = 'Samvel' AND employee_id < 50; |
Этот SQLite пример DELETE удалит все записи из таблицы employees, где last_name - 'Samvel', а employee_id - меньше 50.
Вы можете определить количество строк, которые будут удалены, выполнив следующий SQLite запрос SELECT перед выполнением удаления.
1 2 3 4 |
SELECT count(*) FROM employees WHERE last_name = 'Samvel' AND employee_id < 50; |
Пример - удаление с использованием условия EXISTS
Вы также можете выполнять более сложные удаления.
Вы можете удалить записи из одной таблицы на основе значений другой таблицы. Поскольку, при выполнении удаления, вы не можете перечислить более одной таблицы в SQLite операторе FROM. Для этого вы можете использовать SQLite предложение EXISTS.
Например:
1 2 3 4 5 |
DELETE FROM employees WHERE EXISTS ( SELECT * FROM positions WHERE positions.position_id = employees.position_id ); |
В этом SQLite примере DELETE удаляются все записи в таблице employees, в которой есть запись в таблице positions на основе поля position_id.
Вы можете определить количество строк, которые будут удалены, запустив следующий SQLite запрос SELECT перед выполнением удаления.
1 2 3 4 5 |
SELECT COUNT(*) FROM employees WHERE EXISTS ( SELECT * FROM positions WHERE positions.position_id = employees.position_id ); |