09/02/2012

ad.

Como excluir todas as tabelas de uma base de dados do MySQL

Infelizmente a linguagem SQL não possui um desejável comando DROP ALL TABLES, por isso, quando se deseja excluir todas as tabelas de uma base de dados, caso não exista uma interface pra facilitar o serviço, a solução é exclui-las uma a uma.

Eis aqui um comando para realizar esse trabalho no MySQL, a partir da linha de comando.

1. Logue-se ao seu servidor via linha de comando. Atenção, se o seu provedor não oferece essa opção, sugiro que consiga uma boa hospedagem de sites.

2. No prompt, digite o seguinte comando, trocando USUARIO, SENHA e BASE_DE_DADOS, pelos dados da sua base de dados:

mysqldump –add-drop-table –nodata -uUSUARIO -pSENHA BASE_DE_DADOS | grep ^DROP | mysql -uUSUARIO -pSENHA BASE_DE_DADOS

Explicação do comando.

mysqldump é um aplicativo para extrair as informações de uma base de dados em formato SQL.
–add-drop-table: essa diretiva inclui um comando DROP TABLE <tabela> IF EXISTS, que exclui uma tabela se ela exisitir.

grep é um PODEROSO aplicativo que compara strings (até com expressões regulares!). ^DROP manda mostrar apenas as linhas que começam com a palavra DROP

mysql é o cliente de linha de comando do mysql. O PIPE (aquele pauzinho em pé “|”) apenas repassa a saída de um comando ao próximo. Dessa forma o mysql executará todos os DROPs selecionados no comando anterior.

comentários

Deixe seu comentário