mysql批量删除数据方法及注意事项说明

 更新时间:2024年01月18日 14:46:10   作者:半桶水专家  
这篇文章主要介绍了mysql批量删除数据方法及注意事项说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、批量删除数据的三种常见方法

1、DROP TABLE

用于完全删除表,包括所有数据和表结构。

使用该方法时应慎重,因为删除后无法恢复。

2、TRUNCATE TABLE

快速删除表中所有数据,同时保留表结构。

可以看作是先执行DROP TABLE再执行CREATE TABLE的操作。

3、DELETE FROM table

可以删除表中的所有数据,同时保留表结构,也可以根据条件删除部分数据。

删除速度相对较慢,但具有较高的灵活性。

二、TRUNCATE 和 DELETE 的相同之处

TRUNCATE 和 DELETE

都能够删除表中的所有数据,且保留表结构。

三、TRUNCATE 和 DELETE 的差异

1、事务回滚

  • TRUNCATE 是 DDL(数据定义语言)语句,不支持事务回滚。
  • DELETE 是 DML(数据操作语言)语句,可以执行回滚操作。

2、返回值

  • TRUNCATE TABLE 的返回值是0,表示没有被删除的行数。
  • DELETE FROM table 的返回值是被删除的行数。

3、InnoDB 支持一个表一个文件时

  • TRUNCATE 会立即删除整个表,不会激活触发器,速度非常快。
  • DELETE FROM table 逐行删除,会激活触发器,速度较慢。
  • DELETE 操作需要记录日志,而 TRUNCATE 不需要记录日志。

4、外键约束

当表中的列被其他表作为外键时,TRUNCATE 操作会失败,而 DELETE 操作会成功。

5、自增列

  • TRUNCATE 操作会将自增列计数复原,重新从起始值开始。
  • DELETE 操作删除所有数据后,自增列计数不会复原,仍保持原来的顺序自增。

总结

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

相关文章

  • Mysql8主从复制解读(兼容低高版本)

    Mysql8主从复制解读(兼容低高版本)

    文章详细介绍了MySQL主从复制的理论知识、必要前提、实现原理、binlog的三种类型以及主从同步的具体步骤,通过配置主库和从库的MySQL配置文件,并创建用于主从同步的用户,可以实现主从复制,最后,文章还讨论了主从同步的验证和故障切换的方法
    2025-02-02
  • MySQL批量插入唯一索引冲突的几种避免办法

    MySQL批量插入唯一索引冲突的几种避免办法

    我们在进行大批量的数据插入时,遇到唯一索引冲突是经常的事,本文主要介绍了MySQL批量插入唯一索引冲突的几种避免办法,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • MySQL 无监听端口故障问题排查记录

    MySQL 无监听端口故障问题排查记录

    文章解析MySQL运维中因skip-grant-tables参数隐性启用skip-networking导致端口未监听的故障,指导如何排查及恢复网络连接,强调参数关联与安全机制,本文给大家介绍MySQL 无监听端口故障问题排查记录,感兴趣的朋友一起看看吧
    2025-07-07
  • MySQL数据库优化推荐的编译安装参数小结

    MySQL数据库优化推荐的编译安装参数小结

    这篇文章主要介绍了MySQL数据库优化推荐的编译安装参数小结,需要的朋友可以参考下
    2015-04-04
  • idea连接mysql数据库失败的几种解决方案

    idea连接mysql数据库失败的几种解决方案

    我们在学习Mybatis时需要连接Mysql数据库,使用IDEA无法连接mysql数据库,下面这篇文章主要给大家介绍了关于idea连接mysql数据库失败的几种解决方案,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • mysql的登陆和退出命令格式

    mysql的登陆和退出命令格式

    这篇文章主要介绍了mysql的登陆和退出命令格式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • MySQL高级查询之JOIN、子查询、窗口函数实际案例

    MySQL高级查询之JOIN、子查询、窗口函数实际案例

    这篇文章主要介绍了MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函数则提供灵活的数据统计和排名功能,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-04-04
  • 深入Mysql,SqlServer,Oracle主键自动增长的设置详解

    深入Mysql,SqlServer,Oracle主键自动增长的设置详解

    本篇文章是对Mysql,SqlServer,Oracle主键自动增长的设置进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • MySQL9.0更新了哪些特性

    MySQL9.0更新了哪些特性

    MySQL 9.0作为MySQL数据库管理系统的一个重要更新版本,带来了多项新特性和改进,下面我们就一起来看看更新了哪些特性,感兴趣的可以了解一下
    2024-08-08
  • MySQL服务启动与停止的实现方式

    MySQL服务启动与停止的实现方式

    这篇文章主要介绍了MySQL服务启动与停止的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06

最新评论