Delete (SQL)

У этого термина существуют и другие значения, см. Delete.

DELETE — в языках, подобных SQL, DML-операция удаления записей из таблицы. Критерий отбора записей для удаления определяется выражением where. В случае, если критерий отбора не определён, выполняется удаление всех записей.

  • В СУБД, поддерживающих триггеры, операция Delete может вызывать их срабатывание;
  • При наличии на таблице внешних ключей все дочерние к удаляемым записи в подчинённых таблицах также должны быть удалены для обеспечения ссылочной целостности;
  • В СУБД, поддерживающих транзакции, выполнение операции Delete должно быть подтверждено (COMMIT), либо опровергнуто (ROLLBACK) вызовом соответствующих операций.

Синтаксис

Общий синтаксис команды:

DELETE FROM <Имя Таблицы> WHERE <Условие отбора записей>

Последствием выполнения такой команды будет удаление тех строк из таблицы <Имя Таблицы>, которые соответствуют условию <Условие отбора записей>. При этом никакого результата команда не возвращает и, следовательно, не может быть использована в качестве параметра в команде SELECT.

Удаление записей из нескольких таблиц

Чтобы сделать удаление в разных таблицах, для внешних ключей следует задать каскадное удаление и обновление. Такой вариант работать не будет:

DELETE <Имя записи для удаления>
    -> FROM <Имя Таблицы1> JOIN <Имя Таблицы2> ON <условие объединения>;

А такой, возможно, сработает:

DELETE ab, b
  FROM Authors AS a, AuthorArticle AS ab, Articles AS b
  WHERE a.AuthID=ab.AuthID AND ab.ArticleID=b.ArticleID
    AND AuthorLastName='Henry';

Связанные команды

Удаление всех записей из таблицы при наличии внешних ключей и механизме транзакций может занять продолжительное время. Для полной очистки таблицы может быть использована операция TRUNCATE.


Перейти к шаблону «SQL»
SQL
Версии
  • SQL-86
  • SQL-89
  • SQL-92
  • SQL:1999
  • SQL:2003
  • SQL:2006
  • SQL:2008
  • SQL:2011
  • SQL:2016
Ключевые слова
  • Alter
  • As
  • Case
  • Create
  • Delete
  • From
  • Insert
  • Join
  • Merge
  • Null
  • Prepare
  • Select
  • Truncate
  • Union
  • Update
  • Where
  • With
Связанные статьи
Части ISO/IEC SQL
  • Framework
  • Foundation
  • CLI
  • PSM
  • MED
  • OLB
  • Schemata
  • JRT
  • XML
Перейти к шаблону «Базы данных»
Концепции
Объекты
Ключи
Компоненты
SQL
DML
  • SELECT
  • INSERT
  • UPDATE
  • DELETE
  • MERGE
DDL
  • CREATE
  • ALTER
  • DROP
  • TRUNCATE
DCL
  • REVOKE
  • GRANT
TCL