Mysql
 sql >> Database >  >> RDS >> Mysql

Esiste un comando MySQL per implementare qualcosa come drop table tranne t1,b2?

Puoi usare information_schema per trovare i nomi delle tabelle e persino formattare i risultati come un gruppo di DROP dichiarazioni.

SELECT CONCAT('DROP TABLE ', TABLE_NAME, '; ')
  FROM information_schema.tables
  WHERE table_schema = DATABASE() AND table_name NOT IN ('foo', 'bar', 'baz');

(Il DATABASE() la funzione restituisce l'attuale use 'd database.)

Usando PREPARE e EXECUTE , potresti anche evitare il copia e incolla e (in MySQL 5.0.13 e versioni successive) scrivere una procedura memorizzata per farlo.