Что делает оператор SQL - Delete?
При работе с базами данных нередко возникает необходимость в удалении одной или нескольких строк данных. Для реализации этого действия существует специальный оператор в SQL - Delete.
Синтаксис Delete
Одной из часто используемых операций при работе с базами данных является оператор удаления некоторого числа строк. Для того чтобы убрать лишние записи из таблицы, достаточно воспользоваться специальной функцией SQL - Delete.
Синтаксис этого оператора аналогичен процедурам вставки и изменения записей. После ключевого слова DELETE следует конструкция, указывающая таблицу, в которой будет произведено удаление - FROM и имя таблицы. После этого идёт необязательная часть структуры синтаксиса оператора, которая может содержать указания, однозначно определяющие одну или несколько строк.
DELETE FROM <имя таблицы > [WHERE <предикат>].
Возможное предложение начинается с ключевого слова "WHERE", за которым следует набор предикатов. В нём можно указать как явное значение определённого поля, обозначив его в виде единственного или перечислением, так и некоторый диапазон или условие. В предикате также можно использовать вложенные условия, например, удалять только те записи, которые содержатся или отсутствуют в другой таблице.
Пример удаления нескольких или всех записей
Чтобы удалить запись, необходимо использовать необязательную часть структуры функции Delete. MS SQL поддерживает лишь одно указание данных - с помощью ключевого слова WHERE. Поэтому параметры поиска искомой строки следует указывать только после него.
Если необходимо очистить таблицу, дополнительной частью структуры пользоваться не обязательно, достаточно просто указать имя таблицы в приведённом выше синтаксисе SQL Delete. Пример удаления всех записей приведён далее:
DELETE FROM "таблица_1".
Данный запрос произведёт очистку таблицы с именем "таблица_1". Стоит отметить, что в этом случае удаления самой таблицы не произойдёт - для этого необходимо воспользоваться другими средствами языка SQL.
В случае если необходимо удалить лишь те записи, которые соответствуют определённому требованию, необходимо добавить оператор условия. Например, в следующем примере функция SQL Delete произведёт удаление всех строк в таблице "Персонал", у которых в поле "Имя" находится значение "Иван":
DELETE FROM "Персонал" WHERE "Имя" = "Иван".
При необходимости, можно указывать несколько условий в одном запросе, объединяя их с помощью логических "И" и "ИЛИ". В следующем примере будут удалены все записи, в которых имя сотрудника "Иван" или "Олег":
DELETE FROM "Персонал" WHERE "Имя" = "Иван" OR "Имя" = "Олег".
Пример удаления одной записи
Однако при удалении не всегда требуется удалить все строки, удовлетворяющие условию. Чтобы добиться стирания данных лишь определённого числа строк, к структуре функции SQL Delete необходимо добавить ключевое слово LIMIT, после чего указать явное значение строк, которое необходимо удалить.
В следующем примере из таблицы "Персонал" будет удалено только две записи о сотрудниках, которых зовут Иван:
DELETE FROM "Персонал" WHERE "Имя" = "Иван" LIMIT 2.
Стоит отметить, что при выполнении операции удаления строк следует обращать внимание на правильность написания запросов. В случае ошибки в синтаксисе или условии может произойти избыточное удаление строк, вернуть которые в таблицу автоматически будет практически невозможно.
Похожие статьи
- Обзор SQL Server Express
- MySQL Select Query: описание, особенности и требования
- Настройка Outlook. Пошаговая инструкция
- MySQL – это инструмент для хранения данных любого интернет-ресурса. Что он собой представляет?
- Быстрый сброс пароля администратора Windows 7
- Не удаляется папка. Как удалить неудаляемую папку?
- Ntuser.dat: что это за файл и нужно ли его удалять