PostgreSQL User's Guide
Prev |  | Next

# DROP TABLE

## Name

DROP TABLE — Removes existing tables from a database

    DROP TABLE name [, ...]

### Inputs

`name`

  The name of an existing table or view to drop.

### Outputs

`DROP`

  The message returned if the command completes successfully.

`ERROR Relation "`name`" Does Not Exist!`

  If the specified table or view does not exist in the database.

## Description

DROP TABLE removes tables and views from the database. Only its owner may destroy a table or view. A table may be emptied of rows, but not destroyed, by using DELETE.

If a table being destroyed has secondary indexes on it, they will be removed first. The removal of just a secondary index will not affect the contents of the underlying table.

### Notes

Refer to CREATE TABLE and ALTER TABLE for information on how to create or modify tables.

## Usage

To destroy two tables, `films` and distributors:

    DROP TABLE films, distributors;

## Compatibility

### SQL92

SQL92 specifies some additional capabilities for DROP TABLE:

    DROP TABLE table { RESTRICT | CASCADE }

RESTRICT

  Ensures that only a table with no dependent views or integrity constraints can be destroyed.

CASCADE

  Any referencing views or integrity constraints will also be dropped.

> Tip: At present, to remove a referenced view you must drop it explicitly.

Prev | Home | Next
DROP SEQUENCE | Up | DROP TRIGGER