MySQL批量删除相同前缀的表

MySQL批量删除表两种方法:

  1. 根据表ID批量删除;
  2. 利用sql 的concat生成删除命令;

问题:方法2 只能删除infamation_schema下面的表,求解

例如:

-- 删除”wp_”开头的表:
SELECT CONCAT( 'drop table ', table_name, ';' ) 
FROM information_schema.tables
WHERE table_name LIKE 'wp_%';

但是,我现在要删除自己的库lab_52liming_co下面以basic开头的表:

图片描述

得到返回结果:

图片描述

阅读 4.9k
1 个回答

应该是这样写嘛:

SELECT CONCAT('drop table lab_52liming_co.', table_name, ';') FROM information_schema.tables WHERE table_schema = 'lab_52liming_co' AND table_name LIKE 'basic_%'
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题