Categories: Mysql数据库

mysql中SQL中DROP和TRUNCATE之间的区别

DROP和TRUNCATE是Mysql中删除数据常用的两种操作,那这两种操作有什么区别,哪种删除效率最高呢,分别对应哪些应用场景。

  1. DROP:
    DROP是DDL(数据定义语言)命令,用于删除表定义以及该表的索引,数据,约束,触发器等。在性能方面,DROP命令执行速度快,但比TRUNCATE慢,因为它会增加复杂性。与DELETE不同,我们无法在使用DROP命令后回滚数据。在DROP命令中,表空间从内存中释放出来,因为它会永久删除表及其所有内容。
    DROP命令的语法–

    DROP TABLE table_name;
  2. TRUNCATE:
    TRUNCATE是DDL(数据定义语言)命令。它用于删除表中的所有元组。像DROP命令一样,TRUNCATE命令也不包含WHERE子句。TRUNCATE命令比DROP和DELETE命令都快。像DROP命令一样,在使用this命令之后,我们也无法回滚数据。
    TRUNCATE命令的语法–

    TRUNCATE TABLE table_name; 

DROP和TRUNCATE命令之间的区别:

序号 Drop TRUNCATE
1。 DROP命令用于删除表定义及其内容。 而TRUNCATE命令用于删除表中的所有行。
2。 在DROP命令中,表空间从内存中释放出来。 虽然TRUNCATE清楚数据但不会从内存中释放表空间。
3。 DROP是DDL(数据定义语言)命令。 而TRUNCATE也是DDL(数据定义语言)命令。
4。 在DROP命令中,表视图不存在。 在此命令中,存在表视图。
5, 在DROP命令中,将删除完整性约束。 在此命令中,不会删除完整性约束。
6。 在DROP命令中,不使用撤消空间。 在此命令中,将使用撤消空间,但小于DELETE。
7 DROP命令执行速度很快,但会带来复杂性。 虽然此命令比DROP快。
0.0
00
mysql聚集索引和非聚集索引之间的区别
Redis不仅仅是缓存
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

Shell脚本定时执行的三种方法

Shell脚本是Unix和Li…

7分钟 ago

Linux中你必须知道的5个解压缩命令

Linux操作系统中有许多强大…

27分钟 ago

Golang如何实现三元表达式?

三元表达式又被称为条件表达式,…

48分钟 ago

还不知道Unix和Linux有哪些不同?

随着技术的进步和全球范围内的数…

6小时 ago

Reality Defender一款抵御深度伪造威胁的工具

在数字欺诈猖獗的时代,Real…

6小时 ago

Hoxhunt是一款顶级的人员风险管理平台

Hoxhunt是一款顶级的人员…

6小时 ago