Como deletar todas as tabelas de um banco de dados MySQL

Se você precisar deletar todas as tabelas de uma base mysql sem muito esforço, ou seja, sem precisar dropar o banco e cria-lo novamente, siga os passos desse post.

Primeiro deixamos as tabelas sem relacionamento, ou seja eu poderei excluir todas as tabelas, independente de ordem de exclusão sem que haja erro de dependências. O código abaixo retira todas as chaves estrangeiras (FK).

SET foreign_key_checks=off;

Agora vamos montar uma query que irá concatenar a estrutura DROP TABLE com o nome de todas as tabelas formando uma lista com todos os drops necessários para deletar suas tabelas.

SELECT concat('DROP TABLE IF EXISTS ', TABLE_NAME, ';') FROM information_schema.TABLES;
O resultado deste código vai ser todos os drops de todas as tabelas do db ai é só copiar o resultado e rodar para excluí-las.

Marcos de P. Muniz

Graduado em Sistemas de Informação pela UEMG, é Pós Graduado em Segurança da Informação pela Faculdade Pitágoras, é desenvolvedor PHP desde 2006, trabalha como Analista / Desenvolvedor em uma empresa que atua na área de ensino a distância, faz freelancer criando sites, sistemas e portais utilizando PHP, MySQL e jQuery.

Você pode gostar...

2 Resultados

  1. Mariza disse:

    Voces sao a minha solucao

  2. Paulo Souza disse:

    Melhor adicionar no final da consulta WHERE TABLE_SCHEMA = ‘SEU_SCHEMA’ porque não precisamos deletar as tabelas internas do information_schema

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *