MySQL数据库的删除操作delete和truncate的区别
16lz
2021-01-22
Create table student(
Id INT(3) primarykey auto_increment,
Name varchar(4)
);
Truncate table student;
(1) delete语句是DML语句(data manipulation language它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言),truncate是DDL语句(datadefinition languageDDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。);
(2)delete语句后面可以跟where子句,通过where子句中的表达式,只删除满足条件的部分记录,而truncate只能用于删除表中的所有记录;
(3)使用truncate语句删除表中的数据后,再次向表中添加记录时,字段的默认初始值从1开始,而使用delete删除表中的所有记录后,再次向表中添加记录,自动增加字段的值为删除时字段的最大值加1.
(4)使用delete语句,没删除一天记录都会记录在日志中,而truncate语句不会记录在日志中,因此truncate语句的执行效率比delete语句高。
更多相关文章
- 如何将空值传递给外键字段?
- MYSQL SET类型字段的SQL查询某个字段保函某个值的查询
- mysql 排序两个字段/列表先根据时间升序排序,时间相同再根据商家I
- 为什么准备好的语句由每个会话管理?
- MYSQL必知必会-SQL语句查询
- 转!mysql 查询 distinct多个字段 注意!!
- MySQL-数据库安装及基本SQL语句
- 基础概念---mysql 列转行,合并字段
- 8.2.1.2-MySQL如何优化 WHERE 语句