DROP TABLE
DROP TABLE — удалить таблицу
Синтаксис
DROP TABLE [ IF EXISTS ] имя [, ...] [ CASCADE | RESTRICT ]Описание
DROP TABLE удаляет таблицы из базы данных. Удалить таблицу может только её владелец, владелец схемы или суперпользователь. Чтобы опустошить таблицу, не удаляя её саму, вместо этой команды следует использовать DELETE или TRUNCATE.
DROP TABLE всегда удаляет все индексы, правила, триггеры и ограничения, существующие в целевой таблице. Однако чтобы удалить таблицу, на которую ссылается представление или ограничение внешнего ключа в другой таблице, необходимо дополнительно указать CASCADE. (С указанием CASCADE зависимое представление удаляется полностью, тогда как в случае с ограничением внешнего ключа удаляется именно это ограничение, а не вся таблица, к которой оно относится.)
Параметры
IF EXISTSНе считать ошибкой, если таблица не существует. В этом случае будет выдано замечание.
имяИмя (возможно, дополненное схемой) таблицы, подлежащей удалению.
CASCADEАвтоматически удалять объекты, зависящие от данной таблицы (например, представления), и, в свою очередь, все зависящие от них объекты (см. Раздел 5.13).
RESTRICTОтказать в удалении таблицы, если от неё зависят какие-либо объекты. Это поведение по умолчанию.
Примеры
Удаление таблиц films и distributors:
DROP TABLE films, distributors;
Совместимость
Эта команда соответствует стандарту SQL, но возможность удалять в одной команде несколько таблиц и указание IF EXISTS являются расширениями Postgres Pro.
См. также
ALTER TABLE, CREATE TABLEDROP TABLE
DROP TABLE — remove a table
Synopsis
DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
Description
DROP TABLE removes tables from the database. Only the table owner, the schema owner, and superuser can drop a table. To empty a table of rows without destroying the table, use DELETE or TRUNCATE.
DROP TABLE always removes any indexes, rules, triggers, and constraints that exist for the target table. However, to drop a table that is referenced by a view or a foreign-key constraint of another table, CASCADE must be specified. (CASCADE will remove a dependent view entirely, but in the foreign-key case it will only remove the foreign-key constraint, not the other table entirely.)
Parameters
IF EXISTSDo not throw an error if the table does not exist. A notice is issued in this case.
nameThe name (optionally schema-qualified) of the table to drop.
CASCADEAutomatically drop objects that depend on the table (such as views), and in turn all objects that depend on those objects (see Section 5.13).
RESTRICTRefuse to drop the table if any objects depend on it. This is the default.
Examples
To destroy two tables, films and distributors:
DROP TABLE films, distributors;
Compatibility
This command conforms to the SQL standard, except that the standard only allows one table to be dropped per command, and apart from the IF EXISTS option, which is a Postgres Pro extension.