Vous pouvez utiliser information_schema
pour trouver des noms de table, et même formater les résultats comme un tas de DROP
déclarations.
SELECT CONCAT('DROP TABLE ', TABLE_NAME, '; ')
FROM information_schema.tables
WHERE table_schema = DATABASE() AND table_name NOT IN ('foo', 'bar', 'baz');
(La DATABASE()
la fonction renvoie le use
actuellement 'd base de données.)
Utilisation de PREPARE
et EXECUTE
, vous pouvez même éviter le copier-coller et (dans MySQL 5.0.13 et versions ultérieures) écrire une procédure stockée pour le faire.