Mysql三种常用的删除数据或者表的方式

 更新时间:2024年01月26日 10:28:40   作者:way_more  
本文主要介绍了Mysql三种常用的删除数据或者表的方式,它们分别是 TRUNCATE、DROP 和 DELETE,下面就详细的介绍一下这三种的使用,感兴趣的可以了解一下

前言

在 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 命令。该命令将重建表,并且可以压缩表的数据,从而释放已删除行所占用的空间。

到此这篇关于Mysql三种常用的删除数据或者表的方式的文章就介绍到这了,更多相关Mysql 删除内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL误删数据恢复之Binlog回放+全量备份+延迟从库的三种方案实战

    MySQL误删数据恢复之Binlog回放+全量备份+延迟从库的三种方案实战

    这篇文章主要介绍了MySQL数据误删后的恢复流程,详细介绍了误删场景、恢复方案及预防措施,覆盖了从止血到恢复的全过程,强调了全量备份与Binlog增量回放的重要性,需要的朋友可以参考下
    2026-06-06
  • MySQL优化及索引解析

    MySQL优化及索引解析

    这篇文章主要介绍了MySQL优化及索引解析,索引关系型数据库为了加速对表中行数据检索的数据结构,下面文章详细内容,需要的小伙伴可以参考一下
    2022-03-03
  • MySQL常用客户端工具的用途和详细说明

    MySQL常用客户端工具的用途和详细说明

    MySQL是一个广泛使用的开源关系数据库管理系统(RDBMS),它为开发者和数据库管理员提供了一套完整的客户端工具和功能,这篇文章主要介绍了MySQL常用客户端工具的用途和详细说明的相关资料,需要的朋友可以参考下
    2025-09-09
  • 在Mysql环境下对数据进行增删改查的操作方法

    在Mysql环境下对数据进行增删改查的操作方法

    本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并举例说明了每种操作的具体用法,感兴趣的朋友跟随小编一起看看吧
    2025-02-02
  • MySQL时间分区表的创建与数据清理

    MySQL时间分区表的创建与数据清理

    分区表是将一个大表在物理上分割成多个小表(分区),而在逻辑上仍然表现为一个完整表的技术,本文将深入探讨MySQL时间分区表的原理、创建方法以及如何高效清理过期分区数据,感兴趣的可以了解下
    2025-04-04
  • MySQL千万级大表进行数据清理的几种常见方案

    MySQL千万级大表进行数据清理的几种常见方案

    当MySQL数据库中的表数据量达到千万级别时,直接对数据进行删除操作将面临严重的性能问题,可能会导致数据库长时间的锁表,因此,如何安全高效地进行数据清理成为一个亟需解决的问题,下面我将分享几种常见的数据清理方案,需要的朋友可以参考下
    2023-11-11
  • mysql中INSERT IGNORE的高效插入策略

    mysql中INSERT IGNORE的高效插入策略

    本文介绍MySQL的INSERT IGNORE语句,用于避免重复键错误,适合批量数据迁移和导入,下面就来详细的介绍一下mysql INSERT IGNORE的高效插入,感兴趣的可以了解一下
    2025-09-09
  • Mysql InnoDB 的内存结构详情

    Mysql InnoDB 的内存结构详情

    这篇文章主要介绍了Mysql InnoDB的内存结构详情,InnoDB存储引擎的逻辑存储结构是什么呢,下面我们就一起进入文章了解更多详细内容吧,感兴趣的小伙伴可以参考一下
    2022-05-05
  • MySQL数据误删恢复的完整指南

    MySQL数据误删恢复的完整指南

    在数据库运维中,drop table 误删表、delete 误删数据是最让人崩溃的场景之一,一旦操作失误,轻则业务中断,重则数据永久丢失,本文结合实战场景,详细拆解两种核心误操作的恢复流程,需要的朋友可以参考下
    2026-02-02
  • MySQL里面的子查询的基本使用

    MySQL里面的子查询的基本使用

    本文主要介绍了MySQL里面的子查询的基本使用,从定义到分类使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07

最新评论