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