Инструкция языка SQL для удаления записей таблицы

Delete

Создает запрос на удаление, который удаляет записи из одной или нескольких таблиц, перечисленных в выражении FROM и удовлетворяющих условию предложения WHERE.

СИНТАКСИС

DELETE [таблица.*]
FROM таблица
WHERE условие_отбора

Инструкция DELETE включает в себя следующие элементы:

ЭЛЕМЕНТ ОПИСАНИЕ
таблица Необязательное имя таблицы, из которой удаляются записи
таблица Имя таблицы, из которой удаляются записи
условия_отбора Выражение (Выражение. Сочетание математических и логических операторов, констант, функций, имен полей, элементов управления и свойств, в результате обработки которого получается единственное значение. Выражение может выполнять вычисления, обрабатывать текст или проверять данные.), определяющее, какую запись требуется удалить.

ЗАМЕЧАНИЯ

Инструкция DELETE особенно удобна в тех случаях, когда требуется удалить много записей.

Чтобы удалить из базы данных таблицу целиком, можно использовать метод Execute с инструкцией DROP. Однако в этом случае вместе с таблицей будет утрачена и ее структура. При использовании инструкции DELETE удаляются только данные; структура таблицы и все ее свойства, такие как атрибуты полей и индексы, остаются без изменений.

С помощью инструкции DELETE можно удалять записи из таблиц, находящихся в отношении «один-ко-многим» с другими таблицами. Операции каскадного удаления приводят к тому, что при удалении записи в запросе на одной стороне отношения происходит удаление соответствующих записей в таблицах, находящихся на другой стороне отношения «один-ко-многим». Например, если таблицы «Клиенты» и «Заказы» находятся по разные стороны отношения, и задан параметр каскадного удаления, то удаление записи из таблицы «Клиенты» приводит к удалению соответствующей записи из таблицы «Заказы».

Запрос на удаление удаляет всю запись, а не только данные, содержащиеся в определенных полях. Чтобы удалить значения из конкретных полей, следует создать запрос на обновление, который изменяет значение полей на Null.

ВАЖНО.

· Удаление записи, выполненное с помощью запроса на удаление, нельзя отменить. Чтобы узнать, какие записи будут удалены, выполните запрос на выборку, используя те же условия, и только после этого запустите запрос на удаление.

· Рекомендуется всегда создавать резервные копии данных. Записи, удаленные по ошибке, можно восстановить из резервных копий.

Инструкция языка SQL для обновления данных таблицы, пример.

Создает запрос на обновление, изменяющий значения полей заданных таблиц на основании заданных условий.

СИНТАКСИС

UPDATE таблица
SET новое_значение
WHERE условия_отбора;

Инструкция UPDATE включает следующие части.

ЧАСТЬ ОПИСАНИЕ
таблица Имя таблицы, содержащей данные, которые требуется изменить.
новое_значение Выражение, определяющее значение, которое будет введено в определенное поле обновляемых записей.
условия_отбора Выражение, определяющее записи для обновления. Обновляются только записи, удовлетворяющие этому выражению.

ЗАМЕЧАНИЯ

Применять инструкцию UPDATE особенно удобно, если требуется внести изменения в большое количество записей или когда записи, которые необходимо изменить, находятся в нескольких таблицах.

Одновременно можно изменить несколько полей. В следующем примере значения «СуммаЗаказов» повышаются на 10 процентов, а значения «Доставка» — на 3 процента для поставщиков в Великобритании.

UPDATE ЗаказыSET СуммаЗаказов = СуммаЗаказов * 1,1,Доставка = Доставка * 1,03WHERE СтранаРегионДоставки = 'UK';

ВАЖНО.

· Инструкция UPDATE не создает набора результатов. Обновление записей, выполненное с использованием запроса на обновление, нельзя отменить. Чтобы указать записи для обновления, выполните запрос на выборку с теми же условиями, и затем выполните запрос на обновление.

· Рекомендуется всегда делать резервные копии данных. Если записи будут удалены по ошибке, их можно будет восстановить из резервных копий.