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.