Pular para o conteúdo

Deletar várias tabelas do Bando ao mesmo tempo [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Deletar várias tabelas do Bando ao mesmo tempo [RESOLVIDO]

Enviado em 11/02/2012 - 20:32h

Opa galera!
Meu problema é relativamente simples.
tenho um baco de dados MySql e lá tenho muitas tabelas divididas em grupos que pertencem o mesmo prefixo, ex:

tabelas ------
loja_cliente
loja_produto
loja_venda
...
stoq_usuario
stoq_entrada
stoq_corredores

Quero deletar todas as tabelas que comecem como prefixo 'loja_'.
Como é que eu faço isso???

há alguma forma parecida com o shell do linus tipo ( fulano@maquina$ rm *.txt )???

Responder tópico

2. Re: Deletar várias tabelas do Bando ao mesmo tempo [RESOLVIDO]

Melhor resposta

Enviado em 11/02/2012 - 22:18h

Pelo procurar do phpmyadmin tu faz isso.

3. Re: Deletar várias tabelas do Bando ao mesmo tempo [RESOLVIDO]

Enviado em 12/02/2012 - 08:09h

Use algo assim:

delimiter $$
create procedure drop_tables_like(pattern varchar(255), db varchar(255))
begin
select @str_sql:=concat('drop table ', group_concat(table_name))
from information_schema.tables
where table_schema=db and table_name like pattern;

prepare stmt from @str_sql;
execute stmt;
drop prepare stmt;
end$$

call drop_tables_like('loja_%', 'nome-do-banco-de-dados')$$

drop procedure if exists drop_tables_like$$
delimiter ;

Esse procedimento foi adaptado de um comentário de usuário da documentação do MySQL:
http://dev.mysql.com/doc/refman/5.0/en/drop-table.html

4. Re: Deletar várias tabelas do Bando ao mesmo tempo [RESOLVIDO]

Enviado em 12/02/2012 - 14:16h

Opa galera, usei o PhpMyadmin por ser uma técnica mais simples, mas o Carezia mencionou uma coisa muito importante, tenho que estudar mais sobre procedure.

Obrigado gente!!!

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder