≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 数据库 > MySQL

利用MySQL用truncate命令快速清空一个数据库中的所有表的简单示例

人气:232 时间:2021-08-18

这篇文章主要为大家详细介绍了利用MySQL用truncate命令快速清空一个数据库中的所有表的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小玲来看看吧!

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

 

语句格式:

代码如下:


select CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') from INFORMATION_SCHEMA.TABLES where table_schema in ('数据库1','数据库2'); 

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

以名为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> 

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

 

2. 把每条truncate语句前后的“|”替换为空字符

 

 

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

替换前: 

替换后: 

 

 

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

 

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

代码如下:


mysql> truncate TABLE dbname.ZONESERVICE;  
Query OK, 0 rows affected 
mysql> 

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

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

 

truncate与drop,delete的对比

 

 

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

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

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

本文来自:http://www.q1010.com/177/19627-0.html

注:关于利用MySQL用truncate命令快速清空一个数据库中的所有表的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:truncate

您可能感兴趣的文章

  • delete、truncate、drop的区别以及选择的简单示例
  • MySQL Truncate的简单示例
  • MySQL truncate table语句用法示例
  • PHP利用smarty 截取字符串函数 truncate的简单示例
  • 分析MySQL中DROP,TRUNCATE 和DELETE的区别实现MySQL从零开始
  • MySQL删除数据Delete与Truncate语句使用比较
  • 浅析删除表的几种方法(delete、drop、truncate)
  • SQL Server SQL中Truncate的用法示例
  • 分析SQL中drop、delete和truncate的异同
  • 实例理解SQL中truncate和delete的区别
上一篇:MySQL5.5 部署的一个问题的深入分析
下一篇:MySQL查询重写插件的简单示例
热门文章
  • mysql 修改character_set_server为utf-8的简单示例
  • 解决MySQL丢失文件localhost.localdomain.pid、mysql.sock的示例
  • MySQL 数据类型binary和varbinary的简单示例
  • MySQL:reading initial communication packet问题解决方法
  • MySql 表类型MYISAM、InnoDB区别
  • bash: mysql: command not found 的解决方法
  • MYSQL默认用户名ROOT修改方法
  • MySQL 常用命令菜鸟教程
  • MySQL 使用命令行新建用户并授予权限
  • MySql 数据库物理文件存放位置查看示例
  • 最新文章
    • MySQL查看死锁与解除死锁的简单示例
    • MySQL 慢查询的功能实例
    • MySQL查看死锁与去除死锁的简单示例
    • MySQL找出未提交事务的SQL的简单示例
    • MySQL锁阻塞的的简单示例
    • MySQL中的binary类型使用操作的示例
    • SQL优化教程之in与range查询的简单示例
    • MySQL 的 21 个规范、优化最佳实践!
    • MySQL 字符类型大小写敏感的简单示例
    • 解决mybatis-plus分页传入参数后sql where条件没有limit分页信息的问题

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。