に最終更新
DROP-TABLE
説明
この文はテーブルを削除するために使用します。
構文
DROP [TEMPORARY] TABLE [IF EXISTS] [<db_name>.]<table_name> [FORCE];
必須パラメータ
1.<table_name>
テーブルの識別子(名前)を指定します。同じデータベース内で一意である必要があります。
識別子は英字で始める必要があります。Unicode 名のサポートが有効な場合は、その言語の文字で始めることもできます。識別子全体をバッククォートで囲まない限り、空白や特殊文字は使用できません(例:
My Object)。識別子に予約語は使用できません。
詳細は「識別子の要件と予約語」を参照してください。
オプションパラメータ
1. TEMPORARY
指定した場合、一時テーブルのみを削除します。
2. IF EXISTS
指定した場合、存在しないテーブルに対してもエラーは発生しません。
3.<db_name>
データベースの識別子(名前)を指定します。
識別子は英字で始める必要があります。Unicode 名のサポートが有効な場合は、その言語の文字で始めることもできます。識別子全体をバッククォートで囲まない限り、空白や特殊文字は使用できません(例:
My Database)。識別子に予約語は使用できません。
詳細は「識別子の要件と予約語」を参照してください。
4.FORCE
指定した場合、テーブルに未完了のトランザクションがあるかどうかを確認せず、テーブルを直接削除します。削除後は復元できません。通常、この操作は推奨されません。
アクセス権限の要件
この SQL コマンドを実行するユーザーには、少なくとも次の権限が必要です。
| 権限 | オブジェクト | 備考 |
|---|---|---|
| Drop_priv | テーブル | DROP TABLE はテーブルに対する DROP 操作です |
使用上の注意
DROP TABLEの実行後、削除したテーブルは一定期間、RECOVER 文で復元できます。詳細は RECOVER 文を参照してください。DROP TABLE FORCEを実行すると、テーブルに未完了のトランザクションがあるかどうかを確認せず、テーブルを直接削除します。削除後は復元できません。通常、この操作は推奨されません。
例
-
テーブルを削除する
DROP TABLE my_table; -
指定したデータベースのテーブルが存在する場合に削除する
DROP TABLE IF EXISTS example_db.my_table; -
指定したデータベースのテーブルが存在する場合に強制削除する
DROP TABLE IF EXISTS example_db.my_table FORCE;