DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
DROP DATABASE
は、データベース内のすべてのテーブルを削除したあと、そのデータベースを削除します。 このステートメントには十分に注意してください。 DROP DATABASE
を使用するには、そのデータベースに対する DROP
権限が必要です。 DROP SCHEMA
は DROP DATABASE
のシノニムです。
データベースを削除しても、データベース専用に付与された権限は自動的に削除されません。 手動で削除する必要があります。 セクション13.7.1.6「GRANT ステートメント」を参照してください。
IF EXISTS
は、データベースが存在しない場合にエラーが発生しないようにするために使用されます。
デフォルトデータベースが削除されると、そのデフォルトデータベースは設定解除されます (DATABASE()
関数が NULL
を返します)。
シンボリックリンクされたデータベースに対して DROP DATABASE
を使用した場合は、そのリンクと元のデータベースの両方が削除されます。
DROP DATABASE
は、削除されたテーブルの数を返します。
DROP DATABASE
ステートメントは、通常の操作中に MySQL 自体が作成する可能性のあるファイルおよびディレクトリを、指定されたデータベースディレクトリから削除します。 これには、次のリストに示す拡張子を持つすべてのファイルが含まれます:
.BAK
.DAT
.HSH
.MRG
.MYD
.MYI
.cfg
.db
.ibd
.ndb
今一覧表示されたファイルを MySQL が削除したあとに、このデータベースディレクトリ内にほかのファイルやディレクトリが残っている場合は、そのデータベースディレクトリを削除できません。 この場合は、残っているすべてのファイルまたはディレクトリを手動で削除してから、再度 DROP DATABASE
ステートメントを発行する必要があります。
データベースを削除しても、そのデータベース内に作成されたどの TEMPORARY
テーブルも削除されません。 TEMPORARY
テーブルは、それらを作成したセッションが終了すると自動的に削除されます。 セクション13.1.20.2「CREATE TEMPORARY TABLE ステートメント」を参照してください。
データベースは mysqladmin でも削除できます。 セクション4.5.2「mysqladmin — A MySQL Server 管理プログラム」を参照してください。