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.


📚 Artikel Terkait di Wikipedia

SQL

SQL (от англ. Structured Query Language — язык структурированных запросов) — декларативный язык программирования, применяемый для создания, модификации

Truncate (SQL)

TRUNCATE — в языке SQL — операция мгновенного удаления всех строк в таблице. Логически схожа с операцией DELETE без оператора WHERE, но в ситуациях на

CRUD

удаление (delete). Введён Джеймсом Мартином (англ. James Martin) в 1983 году как стандартная классификация функций по манипуляции данными. В SQL этим функциям

Delete

в языках, подобных SQL. Delete — клавиша на клавиатуре компьютера, служащая для удаления символа, следующего за курсором. Delete — команда в интерпретаторах

Join (SQL)

языка SQL, который является реализацией операции соединения реляционной алгебры. Входит в предложение FROM операторов SELECT, UPDATE и DELETE. Операция

Firebird

SELECT WITH LOCK, UPDATE и DELETE Встроенное незначительное обновление ODS Скомпилированный кэш инструкций Профайлер для PLSQL и SQL WHEN NOT MATCHED BY SOURCE

ClickHouse

отдельную компанию ClickHouse Inc. ClickHouse использует собственный диалект SQL, близкий к стандартному, но содержащий различные расширения: массивы и вложенные

From (SQL)

в выражениях Select, Update, Delete и многих других. Оператор FROM является зарезервированным словом в языке запросов SQL. Оператор FROM используется в