数据库–关于truncate和delete的区别

数据库–关于truncate和delete的区别数据库 关于 truncate 和 delete 的区别 1 truncate 删除表中的内容 不删除表结构 释放空间 2 delete 删除内容 不删除表结构 但不释放空间 3 区别 3 1 内存空间 truncate 删除数据后重新写数据会从 1 开始 而 delete 删除数据后只会从删除前的最后一行续写 内存空间上 truncate 省空间 3 2 处理速度因为 truncate 是直接从 1 开始 即全部清空开始 而 delete 需要先得到当前行数 从而进行续写 所以 truncate 删除速度比 delete 快 3 3

数据库–关于truncate和delete的区别

1.truncate

删除表中的内容,不删除表结构,释放空间;

2.delete

删除内容,不删除表结构,但不释放空间

3.区别

3.1内存空间

truncate删除数据后重新写数据会从1开始,而delete删除数据后只会从删除前的最后一行续写;内存空间上,truncate省空间

3.2处理速度

因为,truncate是直接从1开始,即全部清空开始,而delete需要先得到当前行数,从而进行续写;所以truncate删除速度比delete快;

3.3语句类型

delete属于DML语句,而truncate和drop都属于DDL语句,这造成了它们在事务中的不同现象:

  1. delete在事务中,因为属于DML语句,所以可以进行回滚和提交操作(由操作者)
  2. truncate和drop则属于DDL语句,在事务中,执行后会自动commit,所以不可以回滚;

3.4语法

delete from 表名 (where…可写可不写,写的话进行选择性删除,不选清空表中数据)

truncate 表名(删除表中的数据,无法回滚的)

  1. delete可以在后续加上where进行针对行的删除
  2. truncate和drop后面只能加上表名,直接删除表,无法where

注意:并且drop和truncate不能够激活触发器,因为该操作不记录各行删除;

drop table 表名

删除表,内容连带结构一起删除;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202890.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午11:04
下一篇 2026年3月19日 下午11:04


相关推荐

  • 做了6年的Java,java简历包装项目经验[通俗易懂]

    高频问题1.上一家公司,你为什么会离职?公司很好,但是公司调整了业务,接下来的发展路线和自己的目标不一致,所以要换工作工作太清闲,学不到知识,我不怕累,就是想多锻炼自己,想找具有挑战力工作公司的管理制度不也是很完善,没有晋升机会,我比较想进步,找一个更好的平台我想去优秀的公司,让自己变得更好2.为什么来我们这里?对原单位充满感恩,这是我人生中非常重要的经历,我认同原单位领导和文化两份工作的本质是一致的,行业和工作性质都有紧密联系选择一份新的工作不代表背叛过去,发扬原公司魅力,同时为了

    2022年4月11日
    344
  • 安卓开发个人小作品(3) – 多功能音乐播放器[通俗易懂]

    安卓开发个人小作品(3) – 多功能音乐播放器[通俗易懂]这次介绍一个多功能音乐播放器,记得是大二那年寒假写的,实现的主要功能就是音乐播放,带进度条控制,扫描本地音乐,上一曲下一曲,播放类型(单曲循环,顺序播放,随机播放),APP主题换肤,背景图更换等,功能都比较基础,基本上如果你不会的话,跟着我的思路,应该都是能实现的,预计会在以后加入歌词的功能。在开始前,先放一张最后的效果图吧,我个人喜欢的风格,简约,美观。目录1.实现扫描本地音乐…

    2022年6月26日
    31
  • 树莓派Python教程:树莓派能做什么

    树莓派Python教程:树莓派能做什么第一课:什么是树莓派第二课:树莓派能做什么第三课:购买您的第一个树莓派第四课:如何安装树莓派系统1~4课如果看过C语言版本的,请掠过…第二课:树莓派能做什么树莓派能做什么,莫过于来看一遍树莓派的10个经典项目的视频了,我们先以图片的形式过一遍。NO.1树莓派实现VR注意这个人头上戴的是一个虚拟3D眼镜,他看到的场景是树莓派上安装的两个摄像头,这两个摄像头就相当于人的两只眼睛,把视频传到这个眼镜,然后通过openGl渲染一个场景出来,从而控制这个机器人去做一些事情,这个机器人就是用树莓派

    2022年5月1日
    62
  • mac svn使用教程(linux 终端命令)

    使用Homebrew下载svnbrewinstallsvn查询svn下载路径并测试svn安装whichsvnsvn-version检出项目:先进入要检出的项目目录svncheckoutsvn地址

    2022年4月15日
    109
  • Qwen2-VL微调时是否需要调整视觉编码器?

    Qwen2-VL微调时是否需要调整视觉编码器?

    2026年3月12日
    2
  • 永恒之蓝病毒端口_openwrt安全性

    永恒之蓝病毒端口_openwrt安全性1.使用shadowbroker的eternalblue还有doublepulsar实现注入到目标机器的进程,然后使用kali下的msf获取到有病毒机器的shell然后修改密码查看问题等.根据网上的教程来进行处理以及复现等教程地址:http://blog.csdn.net/claygrit/article/details/77284739http://blo…

    2022年10月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号