Interested Article - Delete (SQL)

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

Синтаксис

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

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 .


Источник —

Same as Delete (SQL)