How to Drop a Database in MySQL: Simple Syntax and Examples
To drop a database in MySQL, use the
DROP DATABASE database_name; command. This permanently deletes the database and all its data, so use it carefully.Syntax
The basic syntax to drop a database in MySQL is:
DROP DATABASE database_name;- Deletes the specified database and all its contents.IF EXISTS(optional) - Prevents an error if the database does not exist.
sql
DROP DATABASE [IF EXISTS] database_name;
Example
This example shows how to drop a database named testdb. It first checks if the database exists to avoid errors.
sql
DROP DATABASE IF EXISTS testdb;
Output
Query OK, 0 rows affected (0.01 sec)
Common Pitfalls
Common mistakes when dropping databases include:
- Dropping the wrong database by typo or wrong name.
- Not using
IF EXISTSand getting an error if the database does not exist. - Not having sufficient privileges to drop the database.
- Accidentally deleting important data without backup.
Always double-check the database name and ensure you have backups before running the command.
sql
/* Wrong way - no IF EXISTS and typo in name */ DROP DATABASE testdb1; /* Right way - with IF EXISTS and correct name */ DROP DATABASE IF EXISTS testdb;
Output
ERROR 1008 (HY000): Can't drop database 'testdb1'; database doesn't exist
Query OK, 0 rows affected (0.01 sec)
Quick Reference
| Command | Description |
|---|---|
| DROP DATABASE database_name; | Deletes the database and all its data. |
| DROP DATABASE IF EXISTS database_name; | Deletes the database only if it exists, avoiding errors. |
| SHOW DATABASES; | Lists all databases on the server. |
| USE database_name; | Selects a database to work with. |
Key Takeaways
Use DROP DATABASE database_name; to permanently delete a database in MySQL.
Add IF EXISTS to avoid errors if the database does not exist.
Always double-check the database name before dropping to prevent data loss.
Ensure you have proper permissions and backups before dropping a database.
Dropping a database deletes all its tables and data irreversibly.