Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Existe um comando MySQL para implementar algo como drop tables exceto t1,b2?


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.