Delete (SQL)
DELETE — в языках, подобных SQL, DML-операция удаления записей из таблицы. Критерий отбора записей для удаления определяется выражением where. В случае, если критерий отбора не определён, выполняется удаление всех записей.
- В СУБД, поддерживающих триггеры, операция Delete может вызывать их срабатывание;
- При наличии на таблице внешних ключей все дочерние к удаляемым записи в подчинённых таблицах также должны быть удалены для обеспечения ссылочной целостности;
- В СУБД, поддерживающих транзакции, выполнение операции Delete должно быть подтверждено (COMMIT), либо опровергнуто (ROLLBACK) вызовом соответствующих операций.
Синтаксис[править | править вики-текст]
Общий синтаксис команды:
DELETE FROM <Имя Таблицы> WHERE <Условие отбора записей>
Последствием выполнения такой команды будет удаление тех строк из таблицы <Имя Таблицы>, которые соответствуют условию <Условие отбора записей>. При этом никакого результата команда не возвращает и, следовательно, не может быть использована в качестве параметра в команде SELECT.
Удаление записей из нескольких таблиц[править | править вики-текст]
| В этом разделе не хватает ссылок на источники информации.
Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники. Эта отметка установлена 16 сентября 2014. |
Чтобы сделать удаление в разных таблицах, для внешних ключей следует задать каскадное удаление и обновление. Такой вариант работать не будет:
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-86 • SQL-89 • SQL-92 • SQL:1999 • SQL:2003 • SQL:2006 • SQL:2008 • SQL:2011 |
| Ключевые слова | As • Case • Create • Delete • From • Group by • Having • Insert • Join • Merge • Null • Order by • Prepare • Select • Truncate • Union • Update • Where • With |
| Связанные статьи | Эдгар Кодд • Реляционная база данных |
| Части ISO/IEC SQL | Framework • Foundation • Call-Level Interface • Persistent Stored Modules • Management of External Data • Object Language Bindings • Information and Definition Schemas • SQL Routines and Types for the Java Programming Language • XML-Related Specifications |
| Базы данных | |
|---|---|
| Концепции |
Модель данных • Реляционная (модель • алгебра • Нормальная форма • Ссылочная целостность • БД • СУБД) • Иерархическая модель • Сетевая (модель • СУБД) • Объектно-ориентированная (БД • СУБД) • Транзакция • Журнализация • Секционирование |
| Объекты | |
| Ключи |
Потенциальный • Первичный • Внешний • Естественный • Суррогатный (искусственный) • Суперключ |
| SQL | |
| СУБД |
IMS • DB2 • Informix • Oracle Database • Microsoft SQL Server • Adaptive Server Enterprise • Teradata Database • Firebird • PostgreSQL • MySQL • SQLite • Microsoft Access • Visual FoxPro • ЛИНТЕР • CouchDB • MongoDB • Caché |
| Компоненты | |