Você pode usar
information_schema
para encontrar nomes de tabelas e até mesmo formatar os resultados como um monte de DROP
declarações. SELECT CONCAT('DROP TABLE ', TABLE_NAME, '; ')
FROM information_schema.tables
WHERE table_schema = DATABASE() AND table_name NOT IN ('foo', 'bar', 'baz');
(O
DATABASE()
função retorna o atual use
'd banco de dados.) Usando
PREPARE
e EXECUTE
, você pode até evitar copiar e colar e (no MySQL 5.0.13 e posterior) escrever um procedimento armazenado para fazer isso.