Todos los que tenemos alojamiento compartido hemos tenido a veces la necesidad de eliminar el contenido de una base de datos. La forma mas sencilla es eliminar la base de datos completamente y volverla a crear, pero en ocasiones esto no es posible porque no tenemos permisos para poder hacerlo.
Consulta SQL
La siguiente consulta nos lo permitirá siempre que tengamos acceso a “information_schema” (cosa muy probable).
Tenemos que acceder primero a la base de datos que queramos purgar
USE CAMBIAR_POR_LA_BASE_DE_DATOS_QUE_QUIERAS_PURGAR;
Y posteriormente ejecutamos la siguiente Query:
SET FOREIGN_KEY_CHECKS = 0;
SET @tables = NULL;
SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables
FROM information_schema.tables
WHERE table_schema = 'database_name';
SET @tables = CONCAT('DROP TABLE ', @tables);
PREPARE stmt FROM @tables;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET FOREIGN_KEY_CHECKS = 1;
Esta consulta genera una subconsulta del estilo “DROP TABLE IF EXISTS t1, t2,…”
Linea de Comandos
mysql -u{USUARIO} -p{PASSWORD} -Nse 'show tables' DATABASE_NAME | while read table; do mysql -u{USUARIO} -p{PASSWORD} -e "drop table $table" DATABASE_NAME; done
Fuente: stackoverflow