在MySQL数据库中使用截断命令实现清空数据库中的所有表

  介绍

在MySQL数据库中使用截断命令实现清空数据库中的所有表?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。


语句格式:

选择CONCAT(& # 39;截断表& # 39;,table_schema, & # 39;强生# 39;,TABLE_NAME, & # 39;; & # 39;) INFORMATION_SCHEMA。表在table_schema(& # 39;数据库1 & # 39;,& # 39;数据库2 & # 39;);

以名为dbname的数据库为例,执行选择语句:

mysql>选择CONCAT(& # 39;截断表& # 39;,table_schema, & # 39;强生# 39;,TABLE_NAME, & # 39;; & # 39;) INFORMATION_SCHEMA。表在table_schema (& # 39; dbname # 39;);   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   | CONCAT(& # 39;截断表& # 39;,table_schema, & # 39;强生# 39;,TABLE_NAME, & # 39;; & # 39;) |   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   |截断表dbname.ABOUTUSINFO;|   |截断表dbname.ABUTMENT;|   |截断表dbname.ABUTMENTFILE;|   |截断表dbname.ACHVORG;|   |截断表dbname.WORKFLOWNODE;|   |截断表dbname.ZONESERVICE;|   |截断表dbname.ZONESERVICEFILE;|   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   7行设置      mysql>      


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

替换前:,

在MySQL数据库中使用截断命令实现清空数据库中的所有表

替换后:,

, 在MySQL数据库中使用截断命令实现清空数据库中的所有表

复制截断语句到MySQL命令行执行,可以一次复制多条执行。

mysql>截断表dbname.ZONESERVICE;   查询好,0行受影响   mysql>   

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


上面说过截断与删除、下降很相似,其实这三者还是与很大的不同的,下面简单对比下三者的异同。

    <李>截断与下降是DDL语句,执行后无法回滚,删除是DML语句,可回滚。 <李>截断只能作用于表,删除,删除可作用于表,视图等。 <李>截断会清空表中的所有行,但表结构及其约束,索引等保持不变;下降会删除表的结构及其所依赖的约束,索引等。 <李>截断会重置表的自增值,删除不会。 <李>截断不会激活与表有关的删除触发器;删除可以。 <李>截断后会使表和索引所占用的空间会恢复到初始大小;删除操作不会减少表或索引所占用的空间,落语句将表所占用的空间全释放掉。

看完上述内容,你们掌握在MySQL数据库中使用截断命令实现清空数据库中的所有表的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

在MySQL数据库中使用截断命令实现清空数据库中的所有表