DROP [TEMPORARY] TABLE [IF EXISTS]
tbl_name [, tbl_name] ...
[RESTRICT | CASCADE]
DROP TABLE は1つまたは複数のテーブルを削除します。各テーブルごとに DROP 権限を持つ必要があります。全てのテーブル データとテーブル定義が 削除されます ので、このステートメントには 注意してください !引数リストの中に名前を付けたテーブルのいずれも存在しない場合、 MySQL は、存在していなかった為にドロップできなかったテーブルを名称別に表し、エラーを戻しますが、MySQL
は既存リスト中のテーブルもすべてドロップします。
重要:テーブルがドロップされる時、テーブル上のユーザー権限は自動的にドロップ されません 。詳しくは 項3. 「GRANT 構文」 を参照してください。
パーティション テーブルに対しては、DROP TABLE がテーブル定義と、その全てのパーティションと、それらのパーティションに格納された全てのデータを恒久的に削除する事を覚えておいて下さい。これはまた、ドロップされたテーブルに関連する領域確保定義(.par)ファイルも削除します。
IF EXISTSを利用して、存在していないテーブルに対してエラーが発生するのを防いでください。IF EXISTSを使用すると、実在していないテーブルに対して NOTE が生成されます。詳しくは 項31. 「SHOW WARNINGS 構文」 を参照してください。
RESTRICT と CASCADE がポーティングを簡単にする事ができます。MySQL 5.1 ではそれらは何もしません。
注意:DROP TABLE は、TEMPORARY キーワードを利用しない限り自動的に現在のアクティブなトランザクションを行います。
TEMPORARY キーワードは次の効果を持ちます。
ステートメントは TEMPORARY テーブルだけをドロップします。
ステートメントは進行中のトランザクションを終了しません。
アクセス権をチェックしません。(TEMPORARY テーブルはそれを作成したクライアントだけが見る事ができる物なので、チェックは必要ありません。)
TEMPORARY を利用するのは、非 TEMPORARY テーブルを誤ってドロップしない事を保障するのに有効な方法です。