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

Mysql三种常用的删除方式

前言

在 MySQL 中,有三种常用的方式可以删除表中的数据或整个表,它们分别是 TRUNCATE、DROP 和 DELETE。

TRUNCATE TABLE

TRUNCATE TABLE属于DDL语言,不走事务,数据不会回滚
TRUNCATE TABLE 语句会删除表中的所有数据,但保留表的结构,同时重置自增主键,释放空间

语法:

TRUNCATE TABLE table_name;

DROP TABLE

DROP TABLE属于DDL语言,不走事务,数据不会回滚
DROP TABLE 语句会完全删除表,包括表的结构和其中的数据。它会永久删除表,立即释放空间,无法撤销。

语法:

DROP TABLE [IF EXISTS] table_name;

如果指定了 IF EXISTS,则在表不存在时不会报错,直接返回操作成功。例如,DROP TABLE IF EXISTS employees; 将删除名为 employees 的表,如果该表存在的话。

DELETE

DELETE属于DML操作语言,只会删除数据不会删除表结构,会走事务,可回滚

DELETE 语句用于逐行删除表中的数据,可以根据指定的条件删除特定的行。

语法:

DELETE FROM table_name [WHERE condition];

DELETE 语句是一种较为慢速和资源密集的操作,因为它将逐行删除表中的数据,并且会触发事务日志和触发器等操作。如果只是想删除表中的数据而不是整个表,TRUNCATE TABLE 操作通常更快和更高效。

使用 DELETE 语句删除表中的数据并不会立即释放磁盘空间,当你执行 DELETE 语句删除行时,实际上是将这些行标记为已删除,但数据仍然占用磁盘空间。

如果你希望立即释放磁盘空间,可以使用 OPTIMIZE TABLE 命令。该命令将重建表,并且可以压缩表的数据,从而释放已删除行所占用的空间。

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

相关文章:

  • Eureka 本机集群实现
  • 查看神经网络中间层特征矩阵及卷积核参数
  • 重置aws上的ssh默认登录端口
  • 算法刷题——拿出最少数目的魔法豆(力扣)
  • Linux消息队列
  • 计算机网络——数据链路层(1)
  • 移动端开发进阶之蓝牙通讯(四)
  • npm换源
  • Spring 中 HttpServletRequest 作为成员变量是安全的吗?
  • 浅聊雷池社区版(WAF)的tengine
  • 如何安装配置VisualSVN服务并实现公网访问本地服务【内网穿透】
  • 解析TZ字样的0时区UTC时间格式化为东八区
  • python两数之和
  • PBR材质背光面太暗优化
  • 【​电力电子在电力系统中的应用​】6 滞环电流控制的PWM整流器 + STATCOM整流器 + APF仿真
  • 接近8000字的SpringSpring常用注解总结!安排
  • 51单片机_智能家居终端
  • css实现动态水波纹效果
  • Chrome 开发者工具
  • Error: error:0308010C:digital envelope routines::unsupported的解决方案
  • vue基于spring boot框架的发艺美发店理发店管理系统的设计q9xpe
  • JS取余运算符 %,ES2023 新增数组方法Array.at
  • unity SqLite读取行和列
  • 使用docker部署RStudio容器并结合内网穿透实现公网访问
  • adb wifi 远程调试 安卓手机 命令
  • Android Activity的启动流程(Android-10)
  • flask不使用flask-login插件
  • 1. SpringBoot3 基础
  • 美易官方:苹果承认GPU安全漏洞存在:iPhone 12和M2系列受影响
  • 【Vue3】3-1 : 章节介绍 - Vue3组件应用及单文件组件