当前位置:网站首页>MySQL数据库的truncate与delete区别
MySQL数据库的truncate与delete区别
2022-07-31 00:00:00 【Miracle_ze】
Truncate的介绍
1.使用方法
删除表数据
TRUNCATE table1;
truncate是MySQL中删除功能的一个语句。作用是清空表或者说是截断表,只能作用于表。truncate的语法很简单,后面直接跟表名即可。
2.注意使用需要权限
执行truncate语句需要拥有表的drop权限。
从逻辑上讲,truncate table类似于delete删除所有行的语句或drop table然后再create table语句的组合。为了实现高性能,它绕过了删除数据的DML方法,因此,它不能回滚。
DML:数据操作语言-数据库的基本操作,即增删改查
Delte介绍
1.使用方法
删除表数据或视图:
delete from table_name;
delete from table_name where 删除条件;
如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
Truncate与Delete的异同
1.相同点
1.两者均可以对表进行删除语句。对表数据进行删除操作,但是对结构没有删除。
2.不相同点
1.Truncate只能运用于表,Delete可以适用于表与视图等
2.Truncate会重置表的自增值;Delete不会。
3.Truncate不会激活与表有关的删除触发器;Delete可以。
4.Truncate后会使表和索引所占用的空间会恢复到初始大小;Delete操作不会减少表或索引所占用的空间。
5.Delete 是 DML 语句,操作完以后如果没有不想提交事务还可以回滚;truncate 是 DDL 语句,操作完马上生效,不能回滚。
边栏推荐
猜你喜欢
随机推荐
360核心安全大脑3.0正式发布,构建政企用户的“能力中枢平台”
[0x800706D9] solution appears in Microsoft Store
uni-ui installation
2021GDCPC Guangdong University Student Programming Competition H.History
The performance management method OKR is used by all companies
joiplay模拟器如何调中文
【萌新解题】删除链表的倒数第 N 个结点
web漏洞之需要准备的工作
what is jira
MPI简谈
joiplay模拟器如何导入游戏存档
天空云变化案例
Flex布局使用
Chevrolet Trailblazer, the first choice for safety and warmth for your family travel
[SAM template question] P3975 [TJOI2015] string theory
HF2022-EzPHP reproduction
第一节 zadig 入门
Kotlin特殊类
Soft Exam Summary
2022 China Logistics Industry Conference and Entrepreneur Summit Forum will be held in Hangzhou!









