,,mysql中drop、truncate与delete的区别详析

,,mysql中drop、truncate与delete的区别详析

drop、truncate、delete虽然简单,但是真正用到或者面试被问到的时候还是需要总结的。以下文章主要介绍mysql中drop、truncate、delete区别的相关信息,有需要的可以参考。

:

目录

1.删除:删除数据库2。比较TRUNCATE TABLE和delete from 3。DDL和DML 4的描述。效率比较总结

1. drop:删除数据库

Drop语句释放表占用的所有空间。删除截断删除

1:如果要删除的数据库存在,则删除成功。如果不存在,则会报告一个错误。

删除数据库mytest1

2:推荐。如果要删除的数据库存在,则删除成功。如果不存在,就默默结束,不报错。

如果存在mytest1,则删除数据库;

2. 对比 TRUNCATE TABLE 和 DELETE FROM

相同点:可以删除表中的所有数据,同时保留表结构。

差异:

TRUNCATE TABLE:一旦执行了这个操作,所有的表数据都将被清除。同时,数据不能回滚。删除:一旦执行了这个操作,所有的表数据都可以被清除(没有WHERE)。同时,数据可以回滚。

3. DDL 和 DML 的说明

一次DDL(创建、删除、更改、截断等。)被执行,则不能回滚。SET autocommit=FALSE对于DDL操作无效。(因为DDL操作完成后,会执行一次提交。并且此提交操作不受SETautocommit=FALSE的影响。)

DML的默认条件(插入、删除、更新、选择等。)一旦执行就不可逆。但是,如果在执行DML之前执行SET autocommit=FALSE,则可以回滚DML操作。

1:删除数据后,恢复数据。

设置autocommit=FALSE

从myemp3中删除;

查询的数据为空。

回滚数据

再次查询,可以看到恢复的数据。

2:截断表,数据操作无法回滚。

设置autocommit=FALSE

截断表myemp3

清除了数据

回滚事情

反转

查询后,数据不会恢复。

4.效率对比

从速度上来说,一般来说,drop truncate delete。

如果要用delete删除一些数据,注意where子句,回滚段要足够大;如果要删除一个表,当然使用drop;如果希望保留表并删除所有数据,如果与事务无关(不能回滚),则使用truncate。如果和事务有关,或者你想触发一个触发器,还是用delete;如果是整理表内的碎片,可以用truncate跟上复用行,然后再导入/插入数据。Truncate和drop是DDL语句,在执行后不能回滚;是delete DML语句,可以回滚。Truncate只能对表起作用;Delete、drop可用于表、视图等。Truncate将清空表中的所有行,但表结构、其约束、索引等除外。将保持不变;Drop将删除表的结构及其相关约束、索引等。Truncate将重置表的自增量;删除不会。Truncate不会激活与该表相关的删除触发器;删除就可以了。Truncate会将表和索引占用的空间恢复到原始大小;删除操作不会减少表或索引占用的空间,而drop语句将释放表占用的所有空间。

总结

关于mysql中drop、truncate和delete之间的区别的这篇文章就到这里了。有关MySQL中Drop、truncate和delete之间差异的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • pymysql菜鸟教程,pymysql 使用
  • pymysql菜鸟教程,pymysql 使用,pymysql模块使用简介与示例
  • mysql锁实现,mysql锁算法
  • mysql锁实现,mysql锁算法,MySQL锁机制与用法分析
  • mysql连接报错10061,mysql连接错误10060
  • mysql连接报错10061,mysql连接错误10060,MYSQL无法连接 提示10055错误的解决方法
  • mysql连接报10060错误,mysql连接报错10055
  • mysql连接报10060错误,mysql连接报错10055,MySQL连接异常报10061错误问题解决
  • mysql辅助索引和主键索引,mysql 主键 外键 索引
  • mysql辅助索引和主键索引,mysql 主键 外键 索引,MySQL索引之主键索引
  • MySQL语句大全,mysql常见语句总结
  • MySQL语句大全,mysql常见语句总结,MySQL语句整理及汇总介绍
  • mysql触发器的使用方法实验报告,mysql中触发器的使用
  • 留言与评论(共有 条评论)
       
    验证码: