Как полностью удалить таблицу sql
Перейти к содержимому

Как полностью удалить таблицу sql

  • автор:

Удаление таблиц (компонент Database Engine)

Вы можете удалить таблицу из базы данных в SQL Server с помощью SQL Server Management Studio или Transact-SQL.

Каждое удаление таблицы следует тщательно планировать. Если на таблицу ссылаются существующие запросы, представления, определяемые пользователем функции, хранимые процедуры или программы, то удаление сделает эти объекты недействительными.

В этом разделе

  • Перед началом работыОграниченияБезопасность
  • Удаление таблицы с помощью следующих средств:Среда SQL Server Management StudioTransact-SQL

Перед началом

Ограничения

  • Инструкцию DROP TABLE нельзя использовать для удаления таблицы, на которую ссылается ограничение FOREIGN KEY. Сначала следует удалить ссылающееся ограничение FOREIGN KEY или ссылающуюся таблицу. Если и ссылающаяся таблица, и таблица, содержащая первичный ключ, удаляются с помощью одной инструкции DROP TABLE, ссылающаяся таблица должна быть первой в списке.
  • При удалении таблицы относящиеся к ней правила и значения по умолчанию теряют привязку, а любые связанные с таблицей ограничения или триггеры автоматически удаляются. Если таблица будет создана заново, нужно будет заново привязать все правила и значения по умолчанию, заново создать триггеры и добавить необходимые ограничения.
  • При удалении таблицы, которая содержит столбец varbinary (max) с атрибутом FILESTREAM, не будут удалены никакие данные, которые хранятся в файловой системе.
  • Инструкции DROP TABLE и CREATE TABLE нельзя выполнять для одной таблицы в одном пакете. В противном случае может произойти непредвиденная ошибка.
  • Любые представления или хранимые процедуры, которые ссылаются на удаляемую таблицу, необходимо явно удалить или изменить, чтобы убрать ссылку на таблицу.

Безопасность

Разрешения

Необходимо разрешение ALTER на схему, к которой принадлежит эта таблица, разрешение CONTROL для этой таблицы или членство в предопределенной роли базы данных db_ddladmin .

Использование среды SQL Server Management Studio

Удаление таблицы из базы данных
  1. В обозревателе объектов выберите таблицу, которую необходимо удалить.
  2. Щелкните таблицу правой кнопкой мыши и в контекстном меню выберите Удалить .
  3. Появится окно подтверждения удаления. Нажмите кнопку Да.

Примечание При удалении таблицы автоматически удаляются все связи с ней.

Использование Transact-SQL

Удаление таблицы в редакторе запросов
  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
  2. На стандартной панели выберите пункт Создать запрос.
  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
DROP TABLE dbo.PurchaseOrderDetail; 

Дополнительные сведения см. в разделе DROP TABLE (Transact-SQL)

Руководство по 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 

На этом мы заканчиваем изучение способа удаления таблиц из БД.
В следующей статье мы рассмотрим процесс добавления данных в таблицу.

Как полностью удалить таблицу 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 выглядит следующим образом:

DROP TABLE table_name;

Пример:

Давайте сначала проверить таблицу CUSTOMERS, а затем мы бы удалить ее из базы данных:

SQL> DESC CUSTOMERS; +---------+---------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+---------------+------+-----+---------+-------+ | ID | int(11) | NO | PRI | | | | NAME | varchar(20) | NO | | | | | AGE | int(11) | NO | | | | | ADDRESS | char(25) | YES | | NULL | | | SALARY | decimal(18,2) | YES | | NULL | | +---------+---------------+------+-----+---------+-------+ 5 rows in set (0.00 sec)

Это означает, что таблица CUSTOMERS в базе данных, так что давайте удалим ее следующим образом:

SQL> DROP TABLE CUSTOMERS; Query OK, 0 rows affected (0.01 sec)

Теперь, если вы сейчас попробуете команду DESC, то вы получите ошибку следующим образом:

SQL> DESC CUSTOMERS; ERROR 1146 (42S02): Table 'TEST.CUSTOMERS' doesn't exist

Здесь TEST это имя базы данных, которую мы используем для наших примеров.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *