DROP TABLE
DROP 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 EXISTS
-
Do not throw an error if the table does not exist. A notice is issued in this case.
-
name
-
The name (optionally schema-qualified) of the table to drop.
-
CASCADE
-
Automatically drop objects that depend on the table (such as views), and in turn all objects that depend on those objects (see Section 5.14 ).
-
RESTRICT
-
Refuse 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
PostgreSQL
extension.