数据库
首页 > 数据库> > 是否有一个MySQL命令来实现“除t1,b2之外的删除表”之类的东西?

是否有一个MySQL命令来实现“除t1,b2之外的删除表”之类的东西?

作者:互联网

我想保留t1,t2并删除所有其他表.

解决方法:

您可以使用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()函数返回当前使用的数据库.)

使用PREPARE和EXECUTE,你甚至可以避免复制& paste,和(在MySQL 5.0.13及更高版本中)编写存储过程来执行此操作.

标签:sql-drop,mysql
来源: https://codeday.me/bug/20191003/1846063.html