Mais
Truncar todas as tabelas em uma base de dados MySQL em um único comando?
Existe uma consulta (comando) para truncar todas as tabelas de uma base de dados em uma única operação? Quero saber se posso fazer isso com uma única consulta.
326
3
MS SQL Server 2005+ (Remover PRINT para execução real...)
Se a sua plataforma de base de dados suporta as visualizações INFORMATION_SCHEMA, pegue os resultados da seguinte consulta e execute-os.
Tente isto para o MySQL:
Adicionar um ponto-e-vírgula ao Concat facilita o uso, por exemplo, de dentro do mysql workbench.
se utilizar o servidor sql 2005, existe um procedimento de armazenamento oculto que lhe permite executar um comando ou um conjunto de comandos contra todas as tabelas dentro de uma base de dados. Aqui é como você chamaria
TRUNCATE TABLE
com este procedimento armazenado:Aqui é um bom artigo que elabora mais.
Para o MySql, entretanto, você poderia usar o mysqldump e especificar as opções
--add-drop-tables' e
--no-data' para soltar e criar todas as tabelas ignorando os dados:mysqldump use guide from dev.mysql
Uma ideia poderia ser simplesmente largar e recriar as mesas?
EDIT:
@Jonathan Leffler: Verdade
**Outra sugestão*** (ou caso não precise de truncar TODAS as tabelas):
Porque não criar apenas um procedimento básico de armazenamento para truncar tabelas específicas