当前位置: 首页 > news >正文

【truncate、delete和drop的6大区别!】

在MySQL中,truncate、delete和drop是三个常用的命令,它们可以用于删除表或表中的数据,下面是它们的六大区别:

语法不同:

truncate和delete是SQL语句,drop是DDL(数据定义语言)语句。

执行速度不同:

truncate比delete和drop快,因为它直接删除整个表而不是一行一行地删除。

回滚方式不同:

truncate和drop是不可回滚的操作,一旦执行完成,就无法恢复。而delete可以在事务中回滚。

可以删除的范围不同:

truncate和delete只能删除表中的数据,而drop可以删除整个表。

是否保留表结构不同:

truncate和delete保留表结构,而drop删除整个表,包括表结构。

是否激活触发器不同:

delete会激活触发器,而truncate和drop不会激活触发器。

综上所述,如果需要删除整个表并重新创建,则使用drop语句;如果需要删除表中的数据,但保留表结构,则使用truncate语句;如果需要删除表中的数据,并激活触发器,则使用delete语句。在使用这些语句时,需要谨慎考虑其影响,以避免不必要的损失。

作者:lfsun666
链接:https://juejin.cn/post/7204100079430500389
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.lryc.cn/news/28569.html

相关文章:

  • 如何入门Vue:掌握Vue的核心概念和基本用法
  • APM飞控使用动捕等外部定位
  • 【vulhub漏洞复现】CVE-2013-4547 Nginx 文件名逻辑漏洞
  • Kubernetes中配置livenessProbe、readinessProbe和startupProbe
  • 冰箱压缩机 方案
  • 一文带你入门,领略angular风采(上)!!!
  • SpringMVC 参数绑定(视图传参到控制器)
  • Three.js高级应用--利用Three.js+WebGL实现fbx和obj格式模型的自定义加载
  • Go struct
  • Redis多线程模型源码解析
  • 搭建zabbix4.0监控服务实例
  • Xcode 系统崩溃问题01
  • SpringMVC文件上传、下载、国际化配置
  • 计算机图形学07:有效边表法的多边形扫描转换
  • UNIX编程--Makefile入门
  • 【数据结构初阶】手撕单链表
  • angular中http请求和传值
  • VSCode问题记录
  • html基础学习
  • leetcode_贪心算法
  • C语言每日一题】——杨氏矩阵
  • 最佳iOS设备管理器imazing 2.16.9官网Mac/Windows下载电脑版怎么下载安装
  • 八大排序算法之堆排序的实现+经典TopK问题
  • 使用AppSmith(PagePlug )低代码平台快速构建小程序应用实践
  • 第52章 短信验证服务和登录的后端定义实现
  • 谷歌验证码的使用
  • Git学习入门(1)- git的安装与配置
  • 【Python】使用Playwright断言方法验证网页和Web应用程序状态
  • libgdx导入blender模型
  • 【20230227】回溯算法小结