Możesz użyć information_schema
znaleźć nazwy tabel, a nawet sformatować wyniki jako zbiór DROP
oświadczenia.
SELECT CONCAT('DROP TABLE ', TABLE_NAME, '; ')
FROM information_schema.tables
WHERE table_schema = DATABASE() AND table_name NOT IN ('foo', 'bar', 'baz');
(DATABASE()
funkcja zwraca aktualnie use
bazy danych.)
Korzystanie z PREPARE
i EXECUTE
, możesz nawet uniknąć kopiowania i wklejania oraz (w MySQL 5.0.13 i nowszych) napisać w tym celu procedurę składowaną.