Cómo eliminar una base de datos en MySQL con DROP DATABASE
Aprende a eliminar una base de datos en MySQL con DROP DATABASE y qué revisar antes de ejecutarlo.
Actualizado el
Para eliminar una base de datos en MySQL se usa DROP DATABASE nombre_base_datos;. Es una operación destructiva: verifica el nombre y ten una copia recuperable antes de ejecutarla.
Sintaxis
DROP DATABASE testdb;Si testdb existe y tienes permisos, MySQL la eliminará junto con sus tablas y datos.
Evitar el error si no existe con IF EXISTS
IF EXISTS evita el error cuando la base de datos no existe, pero no convierte la operación en recuperable:
DROP DATABASE IF EXISTS testdb;Esta forma es útil en scripts automáticos o entornos de desarrollo.
Comprobaciones previas
Antes de eliminar nada, lista las bases de datos disponibles:
SHOW DATABASES;También puedes comprobar cuál es la base de datos predeterminada de tu sesión:
SELECT DATABASE();SELECT DATABASE() solo muestra la base predeterminada de la sesión actual; no confirma por sí solo que el nombre escrito en DROP DATABASE sea el correcto.
Antes de ejecutar el borrado:
- Comprueba dos veces el nombre de la base de datos.
- Asegúrate de que ninguna aplicación la está usando.
- No ejecutes
DROP DATABASEen producción sin revisar el impacto.
DROP DATABASE hace commit implícito y no se revierte con un ROLLBACK ordinario. Una vez completado, recuperar los datos depende de una copia válida anterior; si los binlogs ya estaban configurados y se han conservado, también puede ser posible una recuperación a un punto anterior al borrado (PITR). No des por disponible ninguna de esas opciones sin comprobarlas.
Si solo quieres vaciar una tabla y conservar su estructura, consulta TRUNCATE TABLE en MySQL: vaciar una tabla no es lo mismo que eliminar la base de datos.
Permisos necesarios
Se necesita el privilegio DROP sobre la base de datos. Si no lo tienes, MySQL devolverá un error de permisos.
Copia de seguridad antes de borrar
Para exportar una copia puedes usar mysqldump:
mysqldump -u usuario -p nombre_base_datos > copia.sqlDespués de confirmar que la copia existe y funciona, ya puedes borrar la base de datos con más seguridad.