blob: b27727330fdaa80ec0f93509e85185f5298b1a51 [file] [log] [blame]
---
title: DROP TABLE
---
Removes a table.
## <a id="topic1__section2"></a>Synopsis
``` pre
DROP TABLE [IF EXISTS] <name> [, ...] [CASCADE | RESTRICT]
```
## <a id="topic1__section3"></a>Description
`DROP TABLE` removes tables from the database. Only its owner may drop a table. To empty a table of rows without removing the table definition, use `TRUNCATE`.
`DROP TABLE` always removes any indexes, rules, and constraints that exist for the target table. However, to drop a table that is referenced by a view, `CASCADE` must be specified. `CASCADE` will remove a dependent view entirely.
## <a id="topic1__section4"></a>Parameters
<dt>IF EXISTS </dt>
<dd>Do not throw an error if the table does not exist. A notice is issued in this case.</dd>
<dt>\<name\> </dt>
<dd>The name (optionally schema-qualified) of the table to remove.</dd>
<dt>CASCADE </dt>
<dd>Automatically drop objects that depend on the table (such as views).</dd>
<dt>RESTRICT </dt>
<dd>Refuse to drop the table if any objects depend on it. This is the default.</dd>
## <a id="topic1__section5"></a>Examples
Remove the table `mytable`:
``` pre
DROP TABLE mytable;
```
## <a id="topic1__section6"></a>Compatibility
`DROP TABLE` is fully conforming with the SQL standard, except that the standard only allows one table to be dropped per command. Also, the `IF EXISTS` option is a HAWQ extension.
## <a id="topic1__section7"></a>See Also
[CREATE TABLE](CREATE-TABLE.html), [ALTER TABLE](ALTER-TABLE.html), [TRUNCATE](TRUNCATE.html)