Saltar al contenido

Mentoring

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.

Mentoring 2 min de lectura

Actualizado el

Eliminar base de datos en MySQL

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 DATABASE en 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.sql

Después de confirmar que la copia existe y funciona, ya puedes borrar la base de datos con más seguridad.