Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Gibt es einen MySQL-Befehl, um so etwas wie Drop-Tabellen außer t1, b2 zu implementieren?

Sie können information_schema verwenden um Tabellennamen zu finden und sogar die Ergebnisse als Bündel von DROP zu formatieren Aussagen.

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

(Die DATABASE() Funktion gibt die aktuelle use zurück 'd-Datenbank.)

Mit PREPARE und EXECUTE , Sie könnten sogar Kopieren und Einfügen vermeiden und (in MySQL 5.0.13 und höher) eine gespeicherte Prozedur schreiben, um dies zu tun.