MySQL中Delete和Truncate区别及使用说明

 更新时间:2026年03月06日 09:56:53   作者:Decade102  
article summary:MySQL中,DELETE和TRUNCATE都是清空表数据的语句,但它们在支持条件删除、自增列重置、执行速度、操作类型、空间释放和回滚支持等方面存在显著差异

Delete和Truncate区别

mysql清空表语句

truncate table [表名] ;
delete from [表名] where …;

相同点

  • 两者都是删除表数据 但不会删除表结构

不同点

  • 1.delete支持按条件删除,TRUNCATE不支持。
  • 2.delete 删除后自增列不会重置,而TRUNCATE会被重置。
  • 3.delete是逐条删除(速度较慢),truncate是整体删除(速度较快)。
  • 4.delete删除是一条一条删除,并不会改变表结构,属于DML,而truncate删除表数据是将表删掉,重新新建一张表,属于DDL。
  • 5.delete不会释放空间,而TRUNCATE会释放空间。
  • 6.delete 支持回滚,TRUNCATE不支持。

总结

由于delete 是数据操作语言(DML - Data Manipulation Language),操作时原数据会被放到 rollback segment中,可以被回滚;而TRUNCATE是数据定义语言(DDL - Data Definition Language),操作时不会进行存储,不能进行回滚。truncate语句实际是删除原来的表然后重新建立一个新表。

注:drop table tableName 会连整个表结构一起删除。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL连接异常报10061错误问题解决

    MySQL连接异常报10061错误问题解决

    这篇文章主要介绍了MySQL连接异常报10061错误问题解决,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Mac下MySQL初始化密码操作

    Mac下MySQL初始化密码操作

    个人在Mac上操作数据库,遇到的启动数据库问题的简单记录。接下来通过本文给大家介绍Mac下MySQL初始化密码操作,需要的朋友参考下
    2017-03-03
  • mysql添加enum类型的字段实现

    mysql添加enum类型的字段实现

    Enum类型它允许我们在一个有限的选项列表中选择一个值,本文主要介绍了mysql添加enum类型的字段实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • mysql创建学生表、课程表及学生选课表详细代码

    mysql创建学生表、课程表及学生选课表详细代码

    这篇文章主要给大家介绍了mysql创建学生表、课程表及学生选课表的相关资料,学生、课程以及成绩的增删改查都是建立在连接数据库的基础之上,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • MySQL中的长事务示例详解

    MySQL中的长事务示例详解

    这篇文章主要给大家介绍了关于MySQL中长事务的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • win10 mysql导出csv的两种方式

    win10 mysql导出csv的两种方式

    win10导出csv有两种方式,第一种是借助工具,第二种是原始SQL语句导出,这篇文章主要介绍了win10 mysql导出csv的两种方式,需要的朋友可以参考下
    2019-12-12
  • mysql如何对String类型的数字值排序

    mysql如何对String类型的数字值排序

    这篇文章主要介绍了mysql如何对String类型的数字值排序问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • MYSQL定时清除备份数据的具体操作

    MYSQL定时清除备份数据的具体操作

    这篇文章主要给大家介绍了关于MYSQL定时清除备份数据的具体操作,文中通过示例代码介绍的非常详细,对大家学习或者使用MYSQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • 解决“无法启动mysql服务 错误1069”的方法

    解决“无法启动mysql服务 错误1069”的方法

    本文给大家分享的是小编解决自己网站无法连接数据库的时候遇到的“无法启动mysql服务 错误1069”的方案,有相同需求的小伙伴可以参考下
    2017-08-08
  • 详解MySQL中UNION的用法

    详解MySQL中UNION的用法

    这篇文章主要介绍了详解MySQL中UNION的用法,是MySQL入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05

最新评论