MySQL 用 truncate 命令快速清空一个数据库中的所有表。

  1. 先执行select语句生成所有truncate语句
    语句格式:
    select CONCAT(‘truncate TABLE ‘,table_schema,’.’,TABLE_NAME, ‘;’) from INFORMATION_SCHEMA.TABLES where  table_schema in (‘数据库1’,‘数据库2’);

以名为dbname的数据库为例,执行select语句:
mysql> select CONCAT(‘truncate TABLE ‘,table_schema,’.’,TABLE_NAME, ‘;’) from INFORMATION_SCHEMA.TABLES where  table_schema in (‘dbname’);
±-----------------------------------------------------------+
| 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
mysql>

  1. 把每条truncate语句前后的“|”替换为空字符
    用文本编辑器(如 Notepad++)把每条truncate语句前后的“|”替换为空字符,方便后面一次复制多条执行。
    替换前:

替换后:

  1. 复制truncate语句到mysql命令行执行
    复制truncate语句到mysql命令行执行,可以一次复制多条执行。
    mysql> truncate TABLE dbname.ZONESERVICE;     
    Query OK, 0 rows affected
    mysql>

这样就清空数据库中所有表啦,简单吧~

作者:iw1210
来源:CSDN
原文:https://blog.csdn.net/iw1210/article/details/79586033
版权声明:本文为博主原创文章,转载请附上博文链接!

Logo

更多推荐