Команда SQL DROP для удаления таблиц, индексов и базы данных
Используя запрос DROP можно удалить таблицы (TABLE), индексы (INDEX) и базы данных (DATABASE).
DROP TABLE
DROP TABLE, применяемый в базе данных Oracle. Обычно с таблицей в базе данных связано несколько объектов, например индекс, создаваемый первичным ключом, или ограничение UNIQUE, налагаемое на столбцы таблицы. При удалении таблицы Oracle автоматически удаляет и любой связанный с ней индекс. Для удаления таблицы из БД необходимо выполнить команду DROP TABLE:
DROP TABLE Пример 1.
Удаление таблицы:
DROP TABLE table;
Однако удалить таблицу не всегда столь просто. В любой момент мы можем создать таблицу с ограничениями целостности. Ограничение целостности (Integrityconstraint ) – это правило, устанавливаемое для таблицы и ограничивающее тип данных, которые можно вводить в эту таблицу. Если попытаться удалить таблицу с ограничениями целостности, возвращается сообщение об ошибке следующего вида: «Unique/primary keys in table referenced by foreign keys» (на уникальные/первичные ключи таблицы ссылаются внешние ключи). Когда существуют ограничения для других таблиц, на которые ссылается удаляемая таблица, можно пользоваться каскадной конструкцией CASCADE CONSTRAINTS:
DROP TABLE. Пример 2
Удаление таблицы с ограничениями целостности:
DROP TABLE table CASCADE CONSTRAINTS;
DROP TABLE, применяемый в mySQL
DROP TABLE. Пример 3
Для удаления таблицы также используется запрос:
DROP TABLE table;
DROP TABLE. Пример 4
В случае, если необходимо установить проверку на существование таблицы при удалении (если существует удалить таблицу) запрос принимает следующий вид:
DROP TABLE IF EXISTS table;
Данный запрос будет выполнен в том случае, если удаляемая таблица существует в базе данных. DROP INDEX
Данный запрос DROP INDEX используется для удаления индексов в таблице. DROP INDEX, применяемый в базе данных Oracle: Когда индекс в базе данных больше не нужен, разработчик может удалить его командой DROP INDEX. После удаления индекса эффективность поиска с использованием столбца или столбцов, ограниченных индексом, больше не повышается и упоминание об индексе исчезает из словаря данных. Индекс, применяемый для первичного ключа, удалить нельзя. Синтаксис оператора DROP INDEX одинаков для удаления индекса любого типа (уникальности, битовой карты или В-дерева). Чтобы каким-то образом улучшить индекс, нужно сначала удалить его, а потом создать новый.
DROP INDEX. Пример 1
DROP INDEX my_index;
DROP INDEX, применяемый в mySQL:
DROP INDEX. Пример 2
Для удаления индексов (INDEX) используется запрос:
DROP INDEX my_index ON table;
Данный запрос удаляет индексы, указанные в my_index из таблицы table, но она не работает в версиях MySQL до 3. 22. В версиях 3.22 и более поздних используется команда:
ALTER TABLE table_name DROP INDEX index_name;
DROP DATABASE DROP DATABASE. Пример 1
DROP DATABASE database;
Запрос DROP DATABASE удаляет базу данных database.
TRUNCATE TABLE
Запрос TRUNCATE TABLE используется для того, чтобы удалить данные внутри таблицы, тем самым не затрагивая саму таблицу. В нужном случае TRUNCATE TABLE может быть очень полезен. TRUNCATE TABLE, примеры использования TRUNCATE TABLE:
TRUNCATE TABLE. Пример 1
TRUNCATE TABLE table;
DROP SEQUENCE DROP SEQUENCE используется для удаления последовательности.
DROP SEQUENCE. Пример 1
DROP SEQUENCE sequence_name;
DROP SYNONYM DROP SYNONYM используется для удаления синонимов.
DROP SYNONYM. Пример 1
DROP SYNONYM synonym_name;
Для удаления общих синонимов необходимо воспользоваться командой DROP PUBLIC SYNONYM.
DROP SYNONYM. Пример 2
DROP PUBLIC SYNONYM synonym_name;
DROP FUNCTION (Transact-SQL) — SQL Server
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
Область применения: SQL Server (все поддерживаемые версии) База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics Analytics Platform System (PDW)
Удаляет из текущей базы данных одну или несколько пользовательских функций. Определяемые пользователем функции создаются с помощью инструкции CREATE FUNCTION и изменяются с помощью инструкции ALTER FUNCTION.
Функция DROP поддерживает скомпилированные в собственном коде скалярные определяемые пользователем функции. Дополнительные сведения см. в разделе Скалярные определяемые пользователем функции для выполняющейся в памяти OLTP.
Синтаксические обозначения в Transact-SQL
Синтаксис
-- SQL Server, Azure SQL Database DROP FUNCTION [ IF EXISTS ] { [ schema_name. ] function_name } [ ,...n ] [;]
-- Azure Synapse Analytics, Parallel Data Warehouse DROP FUNCTION [IF EXISTS] [ schema_name. ] function_name [;]
Примечание
Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.
Аргументы
IF EXISTS
Условно удаляет функцию только в том случае, если она уже существует. Доступно в SQL Server начиная с версии 2016 и в Базе данных SQL.
schema_name
Имя схемы, к которой принадлежит определяемая пользователем функция.
function_name
Имя удаляемой пользовательской функции или функций. Указание имени схемы является необязательным. Невозможно указать имя сервера и имя базы данных.
При выполнении инструкции DROP FUNCTION произойдет сбой, если в базе данных существуют функции или представления Transact-SQL, созданные с ключевым словом SCHEMABINDING и содержащие ссылки на удаляемую функцию, или если база данных содержит вычисляемые столбцы, ограничения CHECK или DEFAULT, которые ссылаются на эту функцию.
При выполнении инструкции DROP FUNCTION произойдет сбой, если имеются вычисляемые столбцы, которые содержат ссылки на удаляемую функцию и которые были проиндексированы.
Разрешения
Для вызова инструкции DROP FUNCTION у пользователя должно быть как минимум разрешение ALTER на схему, которой принадлежит функция, или разрешение CONTROL на функцию.
Примеры
A.
Удаление функцииВ следующем примере определяемая пользователем функция fn_SalesByStore
удаляется из схемы Sales
в образце базы данных AdventureWorks2019. Создание этой функции описано в примере Б в статье CREATE FUNCTION (Transact-SQL).
DROP FUNCTION Sales.fn_SalesByStore;
См. также:
ALTER FUNCTION (Transact-SQL)
CREATE FUNCTION (Transact-SQL)
OBJECT_ID (Transact-SQL)
EVENTDATA (Transact-SQL)
sys.sql_modules (Transact-SQL)
sys.parameters (Transact-SQL)
SQL DROP
❮ Предыдущий ❮ Справочник по ключевым словам SQL Далее ❯
DROP COLUMN
Команда DROP COLUMN
используется для удаления столбца в
существующая таблица.
Следующий SQL-код удаляет столбец «ContactName» из таблицы «Customers»:
Пример
ALTER TABLE Customers
DROP COLUMN ContactName;
Попробуйте сами »
УДАЛЕНИЕ ограничения UNIQUE
Чтобы удалить ограничение UNIQUE, используйте следующий SQL:
SQL Server/Oracle/MS Access:
ALTER TABLE Persons
ОГРАНИЧЕНИЕ DROP UC_Person;
MySQL:
ALTER TABLE Persons
DROP INDEX UC_Person;
DROP a PRIMARY KEY Constraint
Чтобы удалить ограничение PRIMARY KEY, используйте следующий SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY;
DROP a FOREIGN KEY Constraint
Чтобы удалить ограничение FOREIGN KEY, используйте следующий SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;
MySQL:
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
DROP a CHECK Constraint
Чтобы удалить ограничение CHECK, используйте следующий SQL:
SQL Server/Oracle/MS Access:
ALTER TABLE Persons
ОГРАНИЧЕНИЕ DROP CHK_PersonAge;
MySQL:
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;
DROP DEFAULT
Команда DROP DEFAULT
используется для удаления
ограничение ПО УМОЛЧАНИЮ.
Чтобы удалить ограничение DEFAULT, используйте следующий SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ИЗМЕНИТЬ КОЛОНКУ Город УДАЛИТЬ ПО УМОЛЧАНИЮ;
MySQL:
ALTER TABLE Persons
ALTER City DROP DEFAULT;
DROP INDEX
Команда DROP INDEX
используется для удаления
индекс в таблице.
Доступ MS:
ИНДЕКС DROP имя_индекса ON имя_таблицы ;
SQL Server:
ИНДЕКС УДАЛЕНИЯ имя_таблицы . имя_индекса ;
DB2/Oracle:
ИНДЕКС DROP имя_индекса ;
MySQL:
ALTER TABLE table_name
DROP INDEX index_name ;
DROP DATABASE
Команда DROP DATABASE
используется для
удалить существующую базу данных SQL.
Следующий SQL удаляет базу данных с именем «testDB»:
Пример
DROP DATABASE testDB;
Примечание: Будьте осторожны перед удалением базы данных. Удаление база данных приведет к потере полной информации, хранящейся в базе данных!
DROP TABLE
Команда DROP TABLE
удаляет таблицу в
базу данных.
Следующий SQL удаляет таблицу «Отправители»:
Пример
DROP TABLE Грузоотправители;
Примечание : Будьте осторожны перед удалением таблицы. Удаление table приводит к потере всей информации, хранящейся в таблице!
DROP VIEW
Команда DROP VIEW
удаляет вид.
Следующий SQL удаляет представление «Клиенты из Бразилии»:
Пример
DROP VIEW [Клиенты из Бразилии];
Попробуйте сами »
❮ Предыдущая ❮ Справочник по ключевым словам SQL Далее ❯
Удалить таблицы (ядро базы данных) — SQL Server
Обратная связь Редактировать
Твиттер LinkedIn Фейсбук Эл. адрес
- Статья
- 2 минуты на чтение
Применимо к: SQL Server 2016 (13.x) и более поздние версии База данных SQL Azure Управляемый экземпляр Azure SQL Аналитика синапсов Azure Analytics Platform System (PDW)
Вы можете удалить (отбросить) таблицу из своей базы данных в SQL Server с помощью SQL Server Management Studio или Transact-SQL.
Осторожно
Хорошо подумайте, прежде чем удалять таблицу. Если существующие запросы, представления, пользовательские функции, хранимые процедуры или программы ссылаются на эту таблицу, удаление сделает эти объекты недействительными.
В этой теме
Прежде чем начать:
Ограничения и запреты
Безопасность
Чтобы удалить таблицу, используя:
SQL Server Management Studio
Трансакт-SQL
Перед началом работы
Ограничения и ограничения
Нельзя удалить таблицу, на которую ссылается ограничение FOREIGN KEY. Ссылающееся ограничение FOREIGN KEY или ссылающаяся таблица должны быть сначала удалены. Если и ссылочная таблица, и таблица, содержащая первичный ключ, удаляются в одном и том же операторе DROP TABLE, ссылочная таблица должна быть указана первой.При удалении таблицы правила или значения по умолчанию для этой таблицы теряют свою привязку, а любые ограничения или триггеры, связанные с этой таблицей, автоматически удаляются. При повторном создании таблицы необходимо повторно связать соответствующие правила и значения по умолчанию, повторно создать все триггеры и добавить все необходимые ограничения.
Если удалить таблицу, содержащую столбец varbinary (max) с атрибутом FILESTREAM, никакие данные, хранящиеся в файловой системе, не будут удалены.
-
DROP TABLE и CREATE TABLE не должны выполняться для одной и той же таблицы в одном пакете. В противном случае может произойти непредвиденная ошибка.
Любое представление или хранимая процедура, которые ссылаются на отброшенную таблицу, должны быть явно удалены или изменены, чтобы удалить ссылку на таблицу.
Безопасность
Разрешения
Требуется разрешение ALTER для схемы, которой принадлежит таблица, разрешение CONTROL для таблицы или членство в фиксированной роли базы данных db_ddladmin .
Использование SQL Server Management Studio
Удаление таблицы из базы данных
В обозревателе объектов выберите таблицу, которую требуется удалить.
Щелкните правой кнопкой мыши таблицу и выберите Удалить из контекстного меню.
В окне сообщения предлагается подтвердить удаление. Щелкните Да .
Примечание
При удалении таблицы автоматически удаляются все связи с ней.
Использование Transact-SQL
Чтобы удалить таблицу в редакторе запросов
В Object Explorer подключитесь к экземпляру Database Engine.
На стандартной панели щелкните Новый запрос .