MySQL 清空表数据的两种方式和区别
在MySQL中删除数据有两种方式:truncate table 表名、delete from 表名。
它们在以下方面存在区别:
执行效率
truncate不扫描表,相当于重新创建了表,只保留了表的结构,然后删除掉原有表,效率非常高。
delete会扫描全表,根据where语句做判断,因此效率低。(这是重点)
返回值
truncate返回值为0,而delete会返回被删除的记录数
mysql> truncate serviceHost;
Query OK, 0 rows affected (0.04 sec)
mysql> delete from serviceHost where creator='test';
Query OK, 4 rows affected (0.01 sec)
自增字段
如果表中有自增字段,truncate会重置为1,而delete会保持自增的最大值。
操作日志
truncate不写服务器日志,无法恢复。
delete会写服务器日志。
触发器
truncate不激活触发器,delete会激活触发器。
参考资料
MySQL 清空表(truncate)与删除表中数据(delete) 详解:https://blog.csdn.net/chenshu…
MySQL中删除数据的两种方法:https://blog.csdn.net/apache6…
清空某个mysql表中所有内容:https://blog.csdn.net/jianhon…
MySQL 清空表数据的两种方式和区别相关推荐
- MySQL删除表数据 MySQL清空表数据命令 3种方法
一.MySQL清空表数据命令:truncate SQL语法: truncate table 表名; 注意: 不能与where一起使用. truncate删除数据后是不可以rollback的. trun ...
- Mysql清除表数据的三种方式
Mysql 删除数据表的三种方式详解 用法: 1.当你不再需要该表时, 用 drop; 2.当你仍要保留该表,但要删除所有记录时, 用 truncate; 3.当你要删除部分记录或者有可能会后悔的话, ...
- oracle 清空表数据的2种方式及速度比较
1.情景展示 现在,需要清空该表数据 2.实现方式 为了比较删除速度,对该表进行复制 确认复制的表和原来的表数据是否一致 方式一:使用truncate table实现 方式二:使用delete fro ...
- 删除表数据有两种方法及区别
delete的用法如下: delete from <表名> [where条件] truncate的用法如下: truncate table <表名> delete和trunca ...
- 通过Navicat创建MySQL数据库并倒入表数据的两种方式
方式一:通过图形界面(Navicat)进行创建 创建数据库 1.首先建立MySQL数据库连接 2. 然后创建一个数据库 导入表结构(资料/数据模型/sql文件) 1.首先打开数据库 2.然后执行sql ...
- oracle 批量删除表数据的两种方式
1.拼接式删除 SELECT'TRUNCATE TABLE ' || listagg || ';' FROM(SELECTLISTAGG(TABLE_NAME, ',') WITHIN GROUP(O ...
- MySQL增加外键的两种方式
MySQL增加外键的两种方式 *根据需求建一下表 i: emp表 ii:dept表 *1.增加外键(创建表的时候) 代码实现(工具:Navicat 12 for MySQL) CREATE TABLE ...
- Spark读取Hive数据的两种方式与保存数据到HDFS
Spark读取Hive数据的两种方式与保存数据到HDFS Spark读取Hive数据的方式主要有两种 1. 通过访问hive metastore的方式,这种方式通过访问hive的metastore元数 ...
- mysql清空数据库所有表的命令_mysql清空表数据命令是什么?_数据库,mysql,清空表数据...
mysql服务无法启动怎么解决_数据库 mysql服务无法启动的解决方法是:1.配置环境变量:2.在mysql安装目录下,新建my.ini文件,设置默认字符集.端口.存储引擎等:3.执行[mysqld ...
最新文章
- Hbase 01_初学必知
- Cppcheck 1 54 C/C++静态代码分析工具
- V-Play入门手册3-如何编写高效的代码?
- spring自动扫描的注解@Component @Controller @Service @Repository
- Spark内核解析之一:内核概述
- redis技术分享ppt_一线互联网架构师技术分享:基于redis的分布式锁实现
- idea中git回退远程仓库版本
- protel99se基本教程及使用教程
- .\Objects\TIM_TEST.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
- xshell6和xftp6的安装
- 校园火灾Focue-3---》音乐
- R语言使用rbind函数向量或者dataframe数据和另外一个dataframe数据纵向合并起来(vertically)
- 安装pocoui报错
- 清除Windows系统用户密码
- 快递对接京东,菜鸟,顺丰过程备忘录
- 堆叠泛化(Stacking Generalization)
- 数据抓取 -- 使用代理IP爬取数据:(2):使用timeout 时要注意,防止数据加载不完整 ,导致爬取丢失(举例)
- 正益移动:不仅仅送给你软件生产线
- 基于近场动力学的二维疲劳裂纹扩展模型_完全耦合热弹性问题的普通态基近场动力学模拟——目录
- 2022-2028年全球与中国铌酸锂晶体行业发展趋势及投资战略分析
热门文章
- 浅谈 大数据分析:市场分析、运营分析、用户行为分析
- 吴恩达机器学习之逻辑回归:逻辑回归的假说表示、判定边界、代价函数、简化的成本函数和梯度下降、高级悠哈、多类别分类之一对多(详细笔记,建议收藏,已有专栏)
- BigDecimal 往左移动两位小数_接吻时,头往左歪 or 往右歪,竟然和喜欢程度有关?!...
- 创世区块诞生 | 历史上的今天
- 【OpenGL ES】绘制魔方
- gitlab.rb 文件配置详解
- win10 上,更新.NET Framework 3.5 时,出现 0x800F0954和0x8024002E报错后,对应的解决方法
- IntelliJ Idea如何将设置tab设置为4个空格
- 无线充电技术为什么不会影响手机信号
- matplotlib绘制小提琴图(官网简化版)