Borrar todo lo que hay en una base de datos MySQL

base de datos poner where

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

, ,

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.