Иллюстрированный самоучитель по PostgreSQL

DELETE

Удаление записей из таблицы.

Синтаксис:

DELETE FROM [ ONLY ] таблица [ WHERE условие ]

Параметры:

  • таблица. Имя таблицы, из которой удаляются записи.
  • условие. Критерий отбора удаляемых записей. Структура условия аналогична условию секции WHERE команды SELECT – за дополнительной информацией об условиях обращайтесь к описанию команды SELECT. Учтите, что без секции WHERE из таблицы удаляются все записи.

Результаты:

DELETE число. Это сообщение выдается при выполнении команды. Параметр число определяет количество удаленных записей. Если число равно 0, это означает, что ни одна запись не соответствовала критерию удаления пли же таблица не содержала ни одной записи.

Описание

Команда DELETE удаляет записи из таблицы. Удаляются только те записи, которые соответствуют заданному условию. Чтобы полностью удалить из таблицы все записи, достаточно вызвать команду DELETE без условия. После выполнения команды таблица остается пустой.

Примечание
Команда TRUNCATE очищает таблицу более эффективно (и более наглядно), чем команда DELETE без условия
.

Ключевое слово ONLY предотвращает удаление записей из таблиц, производных от заданной таблицы. В этом случае операция удаления выполняется только с непосредственно указанной таблицей. Если ключевое слово ONLY отсутствует, операция удаления распространяется не только на заданную таблицу, но и на все производные таблицы.

Пример

Следующая команда удаляет из таблицы shipments все записи о поставках книг покупателю с кодом 142 и датой отгрузки, предшествующей 7 августа 2001 года.

booktown-# DELETE FROM shipments
booktown-# WHERE customeMd = 142
booktown-# AND ship_date < '2001-08-07';
DELETE 1
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.