删除全表数据sql

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

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

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

两者对比总结

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

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

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

相关推荐
-madongyu-8 分钟前
GaussDB SQL 执行引擎:查询重写、优化器与执行器
数据库·sql·gaussdb
小林ixn9 分钟前
从 MySQL 的 LIKE 到 ES 倒排索引:一次把全文检索和混合检索讲透
sql·elasticsearch·全文检索·agent·关键词
oradh10 分钟前
Oracle SQL Tuning Advisor调优工具
数据库·sql·oracle
Omics Pro31 分钟前
空间组学!医学代谢显微工具
数据库·人工智能·算法·机器学习·自然语言处理
Yyyyyy~37 分钟前
[mysql]day1
数据库·mysql
Elastic 中国社区官方博客39 分钟前
两个依赖和一个配置块:通过 Prometheus 远程写入将 Spring Boot 指标发送到 Elasticsearch
大数据·数据库·spring boot·elasticsearch·搜索引擎·全文检索·prometheus
JosieBook41 分钟前
【数据库】MySQL 实战精通系列 · 第2篇:数据建模与建表实战
android·数据库·mysql
夜雪一千1 小时前
MySQL自定义函数应该如何设计
数据库·mysql
一条小小yu1 小时前
mysql的锁
数据库·mysql·oracle
fb_123451 小时前
MySQL基础核心|数据库原理+MySQL详解
数据库·mysql