メインコンテンツまでスキップ
に最終更新

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 を実行すると、テーブルに未完了のトランザクションがあるかどうかを確認せず、テーブルを直接削除します。削除後は復元できません。通常、この操作は推奨されません。

例​

  1. テーブルを削除する

    DROP TABLE my_table;
  2. 指定したデータベースのテーブルが存在する場合に削除する

    DROP TABLE IF EXISTS example_db.my_table;
  3. 指定したデータベースのテーブルが存在する場合に強制削除する

    DROP TABLE IF EXISTS example_db.my_table FORCE;