MYSQL清空表和截断表问题

 更新时间:2023年03月13日 08:35:32   作者:owenzhang24  
这篇文章主要介绍了MYSQL清空表和截断表问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

MYSQL清空表和截断表

清空表和截断表

清空表:delete from users;

清空表只是清空表中的逻辑数据,但是物理数据不清除,如主键值、索引等不被清除,还是原来的值。

截断表:truncate table users;

截断表可以用于删除表中 的所有数据。截断表命令还会回收所有索引的分配页。

截断表的执行速度与不带where子句的delete(删除)命令相同,甚至比它还要快。

delete(删除)一次删除一行数据,并且将每一行被删除的数据都作为一个事务记录日志;而truncate (截断)表则回收整个数据页,只记录很少的日志项。delete(删除)和truncate(截断)都会回收被数据占用的空间,以及相关的索引。只有表的 拥有者可以截断表。

另外,truncate表之后,如果有自动主键的话,会恢复成默认值。

MYSQL清空表数据的注意事项

清空表数据 可用的两种操作:

delete from 表名;

truncate table 表名;

两者比较

不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。

效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。

delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。

我在用delete from 进行删除时发现报错了,说时safe updae 模式什么的,后来查看其他小伙伴的博客,发现了解决办法:

只需执行  SET SQL_SAFE_UPDATES = 0; 即可。

总结

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

相关文章

  • 深入浅析Mysql联合索引最左匹配原则

    深入浅析Mysql联合索引最左匹配原则

    这篇文章主要介绍了Mysql联合索引最左匹配原则,使用联合索引的好处多多,具体内容详情大家跟随脚本之家小编一起学习吧
    2018-06-06
  • MySQL使用正则表达式来更好地控制数据过滤

    MySQL使用正则表达式来更好地控制数据过滤

    MySQL中的正则表达式是一种强大的数据过滤工具,它允许用户以灵活的方式匹配和搜索文本数据,这篇文章主要给大家介绍了关于MySQL使用正则表达式来更好地控制数据过滤的相关资料,需要的朋友可以参考下
    2024-08-08
  • 解析mysql不重复字段值求和

    解析mysql不重复字段值求和

    本篇文章是对关于mysql不重复字段值求和进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • mysql中整数数据类型tinyint详解

    mysql中整数数据类型tinyint详解

    大家好,本篇文章主要讲的是mysql中整数数据类型tinyint详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • MySQL数据库如何开启远程连接(多备份)

    MySQL数据库如何开启远程连接(多备份)

    多备份服务器在备份你的数据库时,必须能够远程连接上你的数据库。但是一般来说mysql安装时都是关闭远程连接的,因此,需要你开通mysql数据库的远程访问权限。那么如何开启呢
    2015-01-01
  • 图解Mysql中的LEFT JOIN、RIGHT JOIN与JOIN的区别

    图解Mysql中的LEFT JOIN、RIGHT JOIN与JOIN的区别

    这篇文章主要介绍了图解Mysql中的LEFT JOIN、RIGHT JOIN与JOIN的区别,Left Join就是以左边为基准,Inner Join就是查两个重复的部分,Right Join就是以右边为基准,需要的朋友可以参考下
    2023-11-11
  • MySQL 如何查询 JSON 数组是否包含特定的值

    MySQL 如何查询 JSON 数组是否包含特定的值

    本文给大家介绍MySQL 如何查询 JSON 数组是否包含特定的值,假设定义了一张表 School,其中字段 stages 为 JSON 类型,本文通过实例代码给大家详细讲解,感兴趣的朋友一起看看吧
    2023-11-11
  • SQL中where语句的用法及实例代码(条件查询)

    SQL中where语句的用法及实例代码(条件查询)

    WHERE如需有条件地从表中选取数据,可将WHERE 子句添加到SELECT语句,下面这篇文章主要给大家介绍了关于SQL中where语句的用法及实例(条件查询)的相关资料,需要的朋友可以参考下
    2022-10-10
  • MySQL查询截取的深入分析

    MySQL查询截取的深入分析

    这篇文章主要给大家介绍了关于MySQL查询截取的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • MySQL索引原理详解

    MySQL索引原理详解

    这篇文章主要介绍了MySQL索引原理详解,索引是帮助MySQL高效获取数据的排好序的数据结构,最重要的点是有序的,我们用索引就是为了快速的查找数据,如果一堆数据是无序的,程序只能挨个遍历每个元素
    2022-08-08

最新评论