MySQL用truncate命令快速清空一个数据库中的所有表
作者:iw1210 时间:2024-01-18 16:05:29
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>
2. 把每条truncate语句前后的“|”替换为空字符
用文本编辑器(如 Notepad++)把每条truncate语句前后的“|”替换为空字符,方便后面一次复制多条执行。
替换前:
替换后:
3. 复制truncate语句到mysql命令行执行
复制truncate语句到mysql命令行执行,可以一次复制多条执行。
mysql> truncate TABLE dbname.ZONESERVICE;
Query OK, 0 rows affected
mysql>
这样就清空数据库中所有表啦,简单吧~
truncate与drop,delete的对比
上面说过truncate与delete,drop很相似,其实这三者还是与很大的不同的,下面简单对比下三者的异同。
truncate与drop是DDL语句,执行后无法回滚;delete是DML语句,可回滚。
truncate只能作用于表;delete,drop可作用于表、视图等。
truncate会清空表中的所有行,但表结构及其约束、索引等保持不变;drop会删除表的结构及其所依赖的约束、索引等。
truncate会重置表的自增值;delete不会。
truncate不会激活与表有关的删除触发器;delete可以。
truncate后会使表和索引所占用的空间会恢复到初始大小;delete操作不会减少表或索引所占用的空间,drop语句将表所占用的空间全释放掉。
来源:https://blog.csdn.net/iw1210/article/details/79586033
标签:MySQL,truncate,清空
0
投稿
猜你喜欢
SQL Server SA权限最新入侵方法
2009-03-25 16:56:00
python执行使用shell命令方法分享
2022-03-30 01:02:18
Python中pillow知识点学习
2023-11-26 05:27:01
python一行输入n个数据问题
2023-09-11 21:50:48
MySQL免安装版(zip)安装配置详细教程
2024-01-25 04:40:31
MySql 5.6.14 Win32位免安装解压缩版配置教程
2024-01-13 01:27:44
简单谈谈MySQL优化利器-慢查询
2024-01-28 02:30:33
MySQL事务的隔离级别详情
2024-01-27 23:33:56
python文件夹分区的实现方法实例
2022-03-04 02:05:39
在Django中Pyecharts生成图表实现
2023-07-27 08:16:32
教你精确编写高质量高性能的MySQL语法
2009-01-14 12:57:00
详解MySql中InnoDB存储引擎中的各种锁
2024-01-13 10:40:32
python脚本实现验证码识别
2022-02-03 09:41:30
cmd运行python文件时对结果进行保存的方法
2023-03-12 03:18:02
SQL Server下几个危险的扩展存储过程
2024-01-18 06:49:25
Python中创建表格详细过程
2023-10-08 02:42:51
python实现决策树分类算法
2022-08-10 12:15:56
python单线程实现多个定时器示例
2023-05-11 08:59:18
女装类视觉设计分享
2009-10-30 18:36:00
Python时间戳与时间字符串互相转换实例代码
2022-09-04 23:39:25