Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 20.9Mb
PDF (A4) - 21.0Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


13.1.28 DROP TABLE 構文

DROP [TEMPORARY] TABLE [IF EXISTS]
    tbl_name [, tbl_name] ...
    [RESTRICT | CASCADE]

DROP TABLE は、1 つ以上のテーブルを削除します。各テーブルに対する DROP 権限が必要です。すべてのテーブルデータとテーブル定義が削除されるため、このステートメントには注意してください。引数リストで指定されているいずれかのテーブルが存在しない場合、MySQL は削除できなかった存在しないテーブルを名前で示すエラーを返しますが、リスト内の存在しているすべてのテーブルの削除も行います。

重要

テーブルが削除されても、そのテーブルに対するユーザー権限は自動的には削除されませんセクション13.7.1.4「GRANT 構文」を参照してください。

パーティション化されたテーブルの場合は、DROP TABLE によってテーブル定義、そのすべてのパーティション、およびそれらのパーティションに格納されていたすべてのデータが永続的に削除されることに注意してください。また、削除されたテーブルに関連付けられているパーティション化定義 (.par) ファイルも削除されます。

存在しないテーブルに対してエラーが発生しないようにするには、IF EXISTS を使用します。IF EXISTS を使用している場合は、存在しないテーブルごとに NOTE が生成されます。セクション13.7.5.41「SHOW WARNINGS 構文」を参照してください。

RESTRICTCASCADE は、移植を容易にするために許可されています。MySQL 5.6 では、これらは何も行いません。

注記

DROP TABLE は、TEMPORARY キーワードが使用されていないかぎり、現在のアクティブなトランザクションを自動的にコミットします。

TEMPORARY キーワードには、次の効果があります。

  • このステートメントは、TEMPORARY テーブルのみを削除します。

  • このステートメントは、進行中のトランザクションを終了しません。

  • アクセス権は確認されません。(TEMPORARY テーブルは、それを作成したセッションにのみ表示されるため、確認は必要ありません。)

TEMPORARY の使用は、TEMPORARY 以外のテーブルを誤って削除してしまわないようにするための適切な方法です。