格式:
select CONCAT(‘truncate TABLE ‘,table_schema,’.’,TABLE_NAME, ‘;’) from INFORMATION_SCHEMA.TABLES where table_schema in (‘数据库1’,‘数据库2’);
直接把数据库名字替换下就可以了,得到结果形如:
±-----------------------------------------------------------+
| CONCAT(‘truncate TABLE ‘,table_schema,’.’,TABLE_NAME, ‘;’) |
±-----------------------------------------------------------+
| truncate TABLE dbname.ABOUTUSINFO; |
| truncate TABLE dbname.ABUTMENT; |
| truncate TABLE dbname.ABUTMENTFILE; |
| truncate TABLE dbname.ACHVORG; |
| truncate TABLE dbname.WORKFLOWNODE; |
| truncate TABLE dbname.ZONESERVICE; |
| truncate TABLE dbname.ZONESERVICEFILE; |
±-----------------------------------------------------------+
7 rows in set
把每条truncate语句前后的“|”替换为空字符
用文本编辑器(如 Notepad++)把每条truncate语句前后的“|”替换为空字符,方便后面一次复制多条执行;
复制truncate语句到mysql命令行执行,可以一次复制多条执行。
亲测,确实好用!不禁感叹:网友的智慧是无穷的!
参考文章:
https://blog.csdn.net/iw1210/article/details/79586033
本文介绍了一种使用SQL语句批量清空多个指定数据库内表的方法。通过构建特定格式的truncate语句,可以有效地批量清空表中的数据。该方法利用了INFORMATION_SCHEMA.TABLES视图来生成针对每个表的truncate语句,适用于需要定期或批量清空数据的场景。
667

被折叠的 条评论
为什么被折叠?



