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.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies. ACEPTAR

Aviso de cookies