MySQL :: MySQL 8.4 Reference Manual :: 15.1.24 DROP DATABASE Statement (original) (raw)
15.1.24 DROP DATABASE Statement
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
DROP DATABASE drops all tables in the database and deletes the database. Be_very_ careful with this statement! To useDROP DATABASE, you need theDROP privilege on the database.DROP SCHEMA is a synonym for DROP DATABASE.
Important
When a database is dropped, privileges granted specifically for the database are not automatically dropped. They must be dropped manually. See Section 15.7.1.6, “GRANT Statement”.
IF EXISTS
is used to prevent an error from occurring if the database does not exist.
If the default database is dropped, the default database is unset (the DATABASE() function returnsNULL
).
If you use DROP DATABASE on a symbolically linked database, both the link and the original database are deleted.
DROP DATABASE returns the number of tables that were removed.
The DROP DATABASE statement removes from the given database directory those files and directories that MySQL itself may create during normal operation. This includes all files with the extensions shown in the following list:
.BAK
.DAT
.HSH
.MRG
.MYD
.MYI
.cfg
.db
.ibd
.ndb
If other files or directories remain in the database directory after MySQL removes those just listed, the database directory cannot be removed. In this case, you must remove any remaining files or directories manually and issue theDROP DATABASE statement again.
Dropping a database does not remove anyTEMPORARY
tables that were created in that database. TEMPORARY
tables are automatically removed when the session that created them ends. SeeSection 15.1.20.2, “CREATE TEMPORARY TABLE Statement”.
You can also drop databases with mysqladmin. See Section 6.5.2, “mysqladmin — A MySQL Server Administration Program”.