DROP文【DROP statement】DROP TABLE
概要

DROP文はSQL(Structured Query Language)の標準的な構文の一つで、データベース内に構築されたオブジェクトを消去する。データの一行を削除する「DELETE文」とは異なり、テーブルや索引などの定義情報そのものをデータベースから完全に取り除く。削除されたオブジェクトに格納されていたデータも、同時に失われる。
最も代表的な利用例は「DROP TABLE テーブル名」で、指定したテーブルを構造ごと削除する。テーブルを残して中身のデータだけを空にしたい場合はDROP文ではなくDELETE文やTRUNCATE文を用いる。削除対象に他のオブジェクトが依存している場合、「CASCADE句」を指定すると関連するビューや制約も連鎖的に削除され、「RESTRICT句」を指定すると依存関係が残っている限り削除は行われずエラーとなる。
DDROP文による削除対象はテーブルに限らない。ビューを削除する「DROP VIEW」構文、索引を削除する「DROP INDEX」構文、トリガーを削除する「DROP TRIGGER」構文、データベースそのものを削除する「DROP DATABASE」構文などがある。どのようなオブジェクトを削除でき、構文上どのような句が利用できるかは、使用するデータベース管理システム(DBMS)の実装によって異なる。
また、DROPは独立した文として用いられるだけでなく、既存のテーブル構造を変更する「ALTER TABLE」文の中で、構成要素の一部を取り除くための句としても使われる。例えば、特定の列を削除する「DROP COLUMN」構文や、主キーや外部キーなどの制約を解除する「DROP CONSTRAINT」構文があり、テーブル全体を残したまま局所的に構造を変更する。DROP文はSQLの中でも「データ定義言語」(DDL)に分類され、実行すると変更が自動的に確定し、取り消しができない製品が多いため、実行前にはバックアップの有無を確認するなど慎重な対応が求められる。