Mysql---truncate与delete区别
来源:互联网 发布:日本娱乐圈 知乎 编辑:程序博客网 时间:2024/05/16 06:34
DELETE和TRUNCATE TABLE的最大区别是DELETE可以通过WHERE语句选择要删除的记录。但执行得速度不快。而且还可以返回被删除的记录数。而TRUNCATE TABLE无法删除指定的记录,而且不能返回被删除的记录。但它执行得非常快。
在MySQL中有两种方法可以删除数据,一种是MySQL DELETE语句,另一种是MySQL TRUNCATE TABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATE TABLE将删除表中的所有记录。因此,DELETE语句更灵活。
truncate是数据定义语言,而delete是数据操作语言,并且delete是事务级别的,可以进行回滚,但是truncate不支持事务,一旦执行就不能进行回滚,不支持事务的语句时立即执行,并且执行立即完成,无法回滚。
如果被删除的表中有自增字段,delete的执行就算讲表中的记录全部清除,自增字段的状态也不会改变,在插入数据的时候是根据之前的记录继续自增的,但是truncate则会讲自增字段的起点初始化为1,换句话说,delete只是执行了数据表的删除动作,而truncate是将当前表进行初始化,执行后的效果就像是重新定义了一个表一样。
使用场景:
A.如果要删除表中的部分数据则使用delete
B.如果要删除表中的所有记录但是又想保留表的原有的结构则用truncate
C.如果要删除整个表和表中的记录则用drop
三者的速度比较:drop>truncate>delete
三者的所属范围:drop和truncate属于数据定义语言;delete属于数据操纵语言
0 0
- Mysql---truncate与delete区别
- mysql delete与truncate的区别
- Mysql DELETE语句与TRUNCATE语句区别
- mysql delete,truncate与drop的区别
- MySQL中 truncate 、delete与drop区别
- delete与truncate区别
- mysql delete和truncate区别
- mysql delete和truncate区别
- mysql----drop,truncate.delete区别
- MySQL中delete,truncate与drop的区别
- truncate与delete的区别
- truncate与delete的区别
- Truncate,delete与drop区别
- Oracle--TRUNCATE与DELETE区别
- truncate与delete的区别
- Truncate、delete与drop区别
- truncate与delete的区别
- DELETE与TRUNCATE的区别
- 理解dropout
- <context:component-scan>使用说明
- Redis配置文件详解
- 深度学习(三)theano入门学习
- 使用ubuntu16.0416.04
- Mysql---truncate与delete区别
- 十万个为什么 —— 古代没有拼音,怎么认字?
- 第二行代码第四章笔记
- Ubuntu14.04基于Anaconda安装Keras并切换后端到Theano
- Sevlet相关 摘抄笔记
- 算法提高 c++_ch02_02
- 一张图轻松搞懂javascript event对象的clientX,offsetX,screenX,pageX区别
- 利用caffe在vgg-face上finetuing自己的人脸数据
- 发现与改变得力量——用Processon在线绘制UML图的初步尝试