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
Как удалить таблицу в sql
DROP TABLE — удалить таблицу
Синтаксис
DROP TABLE [ IF EXISTS ] имя [, . ] [ CASCADE | RESTRICT ]
Описание
DROP TABLE удаляет таблицы из базы данных. Удалить таблицу может только её владелец, владелец схемы или суперпользователь. Чтобы опустошить таблицу, не удаляя её саму, вместо этой команды следует использовать DELETE или TRUNCATE .
DROP TABLE всегда удаляет все индексы, правила, триггеры и ограничения, существующие в целевой таблице. Однако чтобы удалить таблицу, на которую ссылается представление или ограничение внешнего ключа в другой таблице, необходимо дополнительно указать CASCADE . (С указанием CASCADE зависимое представление удаляется полностью, тогда как в случае с ограничением внешнего ключа удаляется именно это ограничение, а не вся таблица, к которой оно относится.)
Параметры
Не считать ошибкой, если таблица не существует. В этом случае будет выдано замечание. имя
Имя (возможно, дополненное схемой) таблицы, подлежащей удалению. CASCADE
Автоматически удалять объекты, зависящие от данной таблицы (например, представления), и, в свою очередь, все зависящие от них объекты (см. Раздел 5.13). RESTRICT
Отказать в удалении таблицы, если от неё зависят какие-либо объекты. Это поведение по умолчанию.
Примеры
Удаление таблиц films и distributors :
DROP TABLE films, distributors;
Совместимость
Эта команда соответствует стандарту SQL, но возможность удалять в одной команде несколько таблиц и указание IF EXISTS являются расширениями PostgreSQL .
См. также
| Пред. | Наверх | След. |
| DROP SERVER | Начало | DROP TABLESPACE |
Руководство по SQL. Удаление таблицы.
Для удаления существующих таблиц и всех её данных из базы данных (далее – БД) используется SQL выражение DROP TABLE.
Данная команда имеет следующий вид:
DROP TABLE имя_таблицы;
Предположим, что мы хотим удалить из нашей БД таблицу с именем developers_copy, которая имеет следующий вид:
mysql> desc developers_copy; +------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+-------+ | ID | int(11) | NO | | NULL | | | NAME | varchar(100) | NO | | NULL | | | SPECIALTY | varchar(100) | YES | | NULL | | | EXPERIENCE | int(11) | NO | | NULL | | | SALARY | int(11) | YES | | NULL | | +------------+--------------+------+-----+---------+-------+ 5 rows in set (0.00 sec)
Для этого нам необходимо использовать команду, указанную ниже:
mysql> drop table developers_copy; Query OK, 0 rows affected (0.05 sec)
Если после этого мы попытаемся получить данные из таблицы developers_copy, то мы получим ошибку 1146:
mysql> desc developers_copy; ERROR 1146 (42S02): Table 'sql_tutorial.developers_copy' doesn't exist
На этом мы заканчиваем изучение способа удаления таблиц из БД.
В следующей статье мы рассмотрим процесс добавления данных в таблицу.
Как удалить таблицу в Microsoft SQL Server на T-SQL
Приветствую Вас на сайте Info-Comp.ru! Сегодня в этой заметке мы рассмотрим процесс удаления таблиц в Microsoft SQL Server. Вы узнаете, как удалить одну таблицу, как удалить несколько таблиц, а также как удаляются временные таблицы в SQL Server. Кроме этого, Вы узнаете, как проверить существование таблицы перед ее удалением.

Инструкция DROP TABLE в T-SQL
DROP TABLE – это инструкция T-SQL, с помощью которой удаляются таблицы в Microsoft SQL Server.
Команда DROP относится к группе операторов определения данных (Data Definition Language – DDL).
DROP TABLE полностью удаляет структуру таблицы и связанные с ней индексы, триггеры, ограничения, разрешения и статистику. Инструкцию нельзя использовать для удаления таблицы, на которую ссылается ограничение FOREIGN KEY, в таких случаях сначала следует удалить ссылающееся ограничение FOREIGN KEY или ссылающуюся таблицу.
DROP TABLE не удаляет функции, хранимые процедуры и представления, которые ссылаются на таблицу, поэтому мы должны проверить все зависимости перед удалением таблицы и внести соответствующие изменения в их определение, чтобы избежать возникновения непредвиденных ситуаций в работе этих функции, процедур и представлений.
DROP TABLE позволяет в одной инструкции удалить как одну таблицу, так и несколько. Временные таблицы удаляются точно так же, как и обычные таблицы с помощью инструкции DROP TABLE.
Синтаксис DROP TABLE
DROP TABLE [IF EXISTS] [database_name].[schema_name].[table_name] [ ,…n ];
- DROP TABLE – команда удаления таблицы;
- IF EXISTS – параметр, который проверяет существование таблицы перед ее удалением (данный параметр можно использовать вSQLServer 2016 и более новых версиях);
- database_name – имя базы данных, в которой расположена таблица. Можно и не указывать, тогда инструкция будет выполняться в контексте текущей базы данных;
- schema_name – имя схемы, которой принадлежит таблица. Можно и не указывать, если таблица создана в схеме по умолчанию (dbo), так как SQL Server автоматически использует эту схему, однако если таблица принадлежит другой схеме, то мы должны указать ее название в процессе удаления таблицы;
- ,…n – говорит о том, что через запятую можно указать несколько таблиц.
Удаление одной таблицы в SQL Server
Чтобы удалить одну таблицу в Microsoft SQL Server, необходимо написать инструкцию DROP TABLE и указать название таблицы.
Для примера давайте создадим таблицу Goods, а затем удалим ее с помощью инструкции DROP TABLE.
Создание таблицы
CREATE TABLE Goods ( ProductId INT IDENTITY(1,1) NOT NULL, ProductName VARCHAR(100) NOT NULL, Price MONEY NULL ); GO
Удаление таблицы
DROP TABLE Goods;

Удаление нескольких таблиц на T-SQL в SQL Server
Если Вам необходимо удалить несколько таблиц сразу, то совсем необязательно писать инструкцию DROP TABLE для удаления каждой таблицы, достаточно написать одну инструкцию и через запятую указать названия таблиц.
Допустим, что у нас есть две таблицы: Table_1 и Table_2. И нам их необходимо удалить.
Для этого мы можем написать следующую инструкцию.
Создание таблиц
CREATE TABLE Table_1 ( ProductId INT IDENTITY(1,1) NOT NULL, ProductName VARCHAR(100) NOT NULL, Price MONEY NULL ); GO CREATE TABLE Table_2 ( ProductId INT IDENTITY(1,1) NOT NULL, ProductName VARCHAR(100) NOT NULL, Price MONEY NULL ); GO
Удаление таблиц
DROP TABLE Table_1, Table_2;

Примечание! Если с помощью одной инструкции DROP TABLE удаляются и ссылающаяся таблица, и таблица, содержащая первичный ключ, то ссылающаяся таблица должна быть указана первой в списке.
Удаление таблицы с проверкой на существование этой таблицы
Начиная с 2016 версии Microsoft SQL Server стало возможно указывать параметр IF EXISTS, который позволяет предварительно проверить существование объекта перед его непосредственным удалением.
Теперь нет необходимости писать различные дополнительные условные конструкции IF, чтобы перед удалением проверить, существует ли таблица или нет, инструкция DROP IF EXISTS сделает эту проверку сама.
Более подробно про эту возможность мы говорили в статье – Инструкция DROP IF EXISTS в языке T-SQL.
DROP TABLE IF EXISTS Goods;

В данном случае таблицы Goods не существует, однако инструкция успешно выполнилась.
Заметка! Начинающим рекомендую посмотреть мои видеокурсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать на T-SQL.
Удаление временной таблицы на T-SQL
Временные таблицы мы можем принудительно удалять точно так же, как и обычные таблицы.
Создание временной таблицы
CREATE TABLE #TestTable ( ProductId INT IDENTITY(1,1) NOT NULL, ProductName VARCHAR(100) NOT NULL, Price MONEY NULL ); GO
Удаление временной таблицы
DROP TABLE #TestTable;

В этом примере мы создали временную таблицу, а затем удалили ее.
Заметка! Много статей на тему языка T-SQL Вы можете найти в разделе сайта – Microsoft SQL Server и язык T-SQL.
На сегодня это все, пока!