当前位置:数据库 > > 正文

mysql清空数据库所有表格(MySQL用truncate命令快速清空一个数据库中的所有表)

时间:2022-03-31 22:45:08类别:数据库

mysql清空数据库所有表格

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

1. 先执行select语句生成所有truncate语句

语句格式:

  • ?
  • 1
  • select CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') from INFORMATION_SCHEMA.TABLES where table_schema in ('数据库1','数据库2');
  • 以名为dbname的数据库为例,执行select语句:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 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>
  • 2. 把每条truncate语句前后的“|”替换为空字符

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

    替换前: 

    mysql清空数据库所有表格(MySQL用truncate命令快速清空一个数据库中的所有表)

    替换后: 

     mysql清空数据库所有表格(MySQL用truncate命令快速清空一个数据库中的所有表)

    3. 复制truncate语句到mysql命令行执行

    复制truncate语句到mysql命令行执行,可以一次复制多条执行。

  • ?
  • 1
  • 2
  • 3
  • mysql> truncate TABLE dbname.ZONESERVICE; 
  • Query OK, 0 rows affected
  • mysql>
  • 这样就清空数据库中所有表啦,简单吧~

    truncate与drop,delete的对比

    上面说过truncate与delete,drop很相似,其实这三者还是与很大的不同的,下面简单对比下三者的异同。

    到此这篇关于MySQL用truncate命令快速清空一个数据库中的所有表 的文章就介绍到这了,更多相关MySQL truncate清空数据库表 内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!

    原文链接:https://blog.csdn.net/iw1210/article/details/79586033

    上一篇下一篇

    猜您喜欢

    热门推荐