删除全表数据sql

sql 复制代码
-- 删除 `employees` 表中的所有数据
DELETE FROM employees;

-- 清空 `employees` 表中的所有数据
TRUNCATE TABLE employees;

TRUNCATE 操作不记录每一行的删除操作,而是直接释放数据页,所以执行速度通常比 DELETE 快。不过它不能和 WHERE 子句一起使用,只能删除全量数据。

两者对比总结

速度:TRUNCATE 通常比 DELETE 快,因为 TRUNCATE 不记录每行的删除操作。

事务处理:DELETE 操作可以回滚,因为它会记录到事务日志;TRUNCATE 操作通常不能回滚,因为它不记录每行的删除操作。

约束影响:DELETE 操作不会影响表的自动递增计数器;TRUNCATE 操作会重置自动递增计数器。

相关推荐
一名数据库爱好者4 分钟前
OceanBase 读写分离探讨
数据库·oceanbase·dba
chnming198712 分钟前
Mysql Resultset 解析记录
数据库·mysql
烛.照10324 分钟前
宝塔安装完redis 如何访问
linux·数据库·redis·缓存
无敌小田田1 小时前
es数据同步
数据库·sql·elasticsearch
练小杰2 小时前
【MySQL】我在广州学Mysql 系列——MySQL用户管理详解
android·数据库·经验分享·sql·学习·mysql·adb
m0_748251522 小时前
(MySQL)头歌数据库作业答案
数据库·mysql·oracle
_Eden_4 小时前
Redis学习之哨兵二
数据库·redis·学习
好记性+烂笔头4 小时前
高频 SQL 50 题(基础版)_620. 有趣的电影
数据库·sql
jimiStephen5 小时前
go-基础之嵌入
java·数据库·golang
yuanpan10 小时前
MongoDB常见的运维工具总结介绍
运维·数据库·mongodb