Contenido de esta guía
Qué desaparece
DROP TABLE no vacía una tabla: la elimina del esquema. Después de ejecutarlo, una consulta que use ese nombre falla porque el objeto ya no existe.
También pueden verse afectados índices, disparadores, vistas o claves foráneas relacionados, según el motor y las opciones elegidas.
Sintaxis básica
DROP TABLE nombre_tabla;
DROP TABLE IF EXISTS nombre_tabla;IF EXISTS evita un error cuando la tabla no está presente, aunque algunos motores emiten un aviso. No convierte la operación en segura: si existe, se elimina.
Antes de borrar, inspecciona. Confirma el entorno, el esquema, las dependencias y la copia de seguridad. En producción, una sentencia correcta puede seguir siendo una decisión equivocada.
Ejemplo guiado
Creamos una tabla temporal de borradores, la eliminamos y comprobamos que ya no aparece en el catálogo de SQLite:
CREATE TABLE borradores (
id INTEGER PRIMARY KEY,
texto TEXT
);
DROP TABLE borradores;
SELECT name
FROM sqlite_schema
WHERE type = 'table' AND name = 'borradores';| name |
|---|
| Sin filas |
La consulta final no devuelve filas. Eso confirma que el objeto dejó de existir; no significa que la tabla esté vacía.
DELETE, TRUNCATE o DROP
DELETEelimina filas y permiteWHERE.TRUNCATEvacía la tabla de forma específica del motor y conserva su estructura.DROP TABLEelimina la estructura completa.
Error frecuente
Usar CASCADE sin revisar dependencias
CASCADE puede retirar objetos dependientes además de la tabla. Lee primero qué va a desaparecer y utiliza la opción más restrictiva compatible con la tarea.
Comprueba lo aprendido
Elimina una tabla de importación
Crea una tabla importaciones_temporales, elimínala con IF EXISTS y comprueba en sqlite_schema que ya no existe.
id.DROP TABLE IF EXISTS.type = 'table' y nombre.Solución razonada
CREATE TABLE importaciones_temporales (id INTEGER);
DROP TABLE IF EXISTS importaciones_temporales;
SELECT name
FROM sqlite_schema
WHERE type = 'table'
AND name = 'importaciones_temporales';| name |
|---|
| Sin filas |
La ausencia de filas confirma que la tabla se eliminó. Ejecuta este tipo de práctica solo en una base aislada.
Compatibilidad entre motores
DROP TABLE está ampliamente disponible. IF EXISTS, la posibilidad de borrar varias tablas, el comportamiento transaccional y las opciones CASCADE o RESTRICT varían. Consulta la documentación de tu motor antes de una migración.
Qué debes recordar
- DROP TABLE elimina datos y estructura.
- IF EXISTS evita el error por ausencia, no el borrado.
- Revisa dependencias antes de usar CASCADE.
- No lo confundas con DELETE o TRUNCATE.
Conceptos relacionados
Fuentes técnicas
La explicación se ha contrastado con documentación oficial: