DROP TABLE — テーブルを削除する
DROP TABLE [ IF EXISTS ] name
[, ...] [ CASCADE | RESTRICT ]
DROP TABLE
はデータベースからテーブルを削除します。
テーブル所有者、スキーマ所有者、スーパーユーザのみがテーブルを削除することができます。
テーブルを削除するのではなく、テーブルの行を空にするには、DELETEまたはTRUNCATEを使用してください。
DROP TABLE
は、削除対象のテーブルについて存在するインデックス、ルール、トリガ、制約を全て削除します。
しかし、ビューや他のテーブルの外部キー制約によって参照されているテーブルを削除するにはCASCADE
を指定する必要があります
(CASCADE
を指定すると、テーブルに依存するビューは完全に削除されます。外部キー制約によって参照されている場合は、外部キー制約のみが削除され、その外部キーを持つテーブルそのものは削除されません)。
IF EXISTS
テーブルが存在しない場合でもエラーになりません。 この場合、注意メッセージが発行されます。
name
削除するテーブルの名前です(スキーマ修飾名も可)。
CASCADE
削除するテーブルに依存しているオブジェクト(ビューなど)を自動的に削除し、さらにそれらのオブジェクトに依存するすべてのオブジェクトも削除します(5.14参照)。
RESTRICT
依存しているオブジェクトがある場合に、テーブルの削除を拒否します。 こちらがデフォルトです。
2つのテーブル、films
とdistributors
を削除します。
DROP TABLE films, distributors;
標準では1コマンドで1テーブルのみを削除できるという点、および、PostgreSQLの拡張であるIF EXISTS
オプションを除き、このコマンドは標準SQLに従います。