Можете да използвате information_schema
за да намерите имена на таблици и дори да форматирате резултатите като набор от DROP
изявления.
SELECT CONCAT('DROP TABLE ', TABLE_NAME, '; ')
FROM information_schema.tables
WHERE table_schema = DATABASE() AND table_name NOT IN ('foo', 'bar', 'baz');
(DATABASE()
функцията връща текущата use
'd база данни.)
Използване на PREPARE
и EXECUTE
, бихте могли дори да избегнете копиране и поставяне и (в MySQL 5.0.13 и по-нови версии) да напишете съхранена процедура, за да направите това.