删除全表数据sql

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

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

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

两者对比总结

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

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

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

相关推荐
观无9 分钟前
redis分布式锁
数据库·redis·分布式
Bug.Remove()11 分钟前
PostgreSQL数据类型使用
数据库·postgresql
逝水如流年轻往返染尘1 小时前
MySQL中的内置函数
数据库·mysql
咖啡啡不加糖1 小时前
深入理解MySQL死锁:从原理、案例到解决方案
java·数据库·mysql
文牧之1 小时前
PostgreSQL 的扩展pageinspect
运维·数据库·postgresql
要努力啊啊啊1 小时前
使用 Python + SQLAlchemy 创建知识库数据库(SQLite)—— 构建本地知识库系统的基础《一》
数据库·人工智能·python·深度学习·自然语言处理·sqlite
KENYCHEN奉孝1 小时前
Django CMS 的 Demo
数据库·sqlite
为中华崛起而奋斗2 小时前
Oracle 19c RAC集群ADG搭建
数据库·oracle
betazhou3 小时前
mariadb5.5.56在centos7.6环境安装
android·数据库·adb·mariadb·msyql