优秀的手机游戏下载!
首页 truncate和delete的区别

truncate和delete的区别

发布时间:2024-12-25 11:17:58 编辑:手游帝 浏览:179

1、空间不同:

表和索引所占空间。当表被truncate 后,这个表和索引所占用的空间会恢复到初始大小,delete操作不会减少表或索引所占用的空间。

2、应用范围不同:

truncate 只能对table;delete可以是table和view。

3、作用不同:

truncate 和delete只删除数据, drop则删除整个表(结构和数据)。

扩展资料:

函数说明:truncate()会将参数path指定的文件大小改为参数length指定的大小。 如果原来的文件大小比参数length大,则超过的部分会被删除

返回值:执行成功则返回0, 失败返回-1, 错误原因存于errno

错误代码:EACCESS 参数path所指定的文件无法存取

EROFS 欲写入的文件存在于只读文件系统内

EFAULT 参数path指针超出可存取空间

参考资料来源:百度百科-truncate

delete和truncate之间的差别有哪些

drop:drop table 表名 (删除整个表)

删除内容和定义,并释放空间。执行drop语句,将使此表的结构一起删除。也就是删除整个表。操作不能回滚。

truncate:truncate table 表名 (清空表中的所有数据)

删除内容、释放空间但不删除定义(也就是保留表的数据结构)。与drop不同的是,只是清空表数据而已。

truncate不能删除行数据,虽然只删除数据,但是比delete彻底,它只删除表数据。操作不能回滚。整表数据清空。

delete:delete from 表名 (where 列名 = 值) (删除一行数据)

truncate和delete的区别

与truncate类似,delete也只删除内容、释放空间但不删除定义;但是delete即可以对行数据进行删除,也可以对整表数据进行删除。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存,以便进行进行回滚操作。

原文链接: https://blog.csdn.net/wx1528159409/article/details/88058834

delete和truncate命令之间的差别

1、命令类型

delete是数据操作语言(DML)命令;而truncate是数据定义语言(DDL)命令。

2、功能

delete命令根据指定的SQL语句从表中删除单个,多个或所有记录;而truncate命令从数据库中删除所有记录和表结构。

3、Where子句

delete命令支持WHERE子句,可以使用带有DELETE的where子句来过滤和删除特定记录;而,truncate命令不支持WHERE子句。

4、锁定

delete命令采用行级锁定,表中的每一行都被锁定以进行删除;truncate命令采用表级锁定,锁定了整个表以删除所有记录。

5、索引视图

delete命令可以与索引视图一起使用;而,truncate命令不能与索引视图一起使用。

6、执行速度

由于delete命令维护日志,因此速度很慢。但是,由于truncate命令在事务日志中维护最少的日志记录,因此执行速度更快。

7、表结构

delete命令不会影响表结构,而truncate命令会从数据库中删除表结构。

8、事务空间

delete命令比truncate命令使用更多的事务空间。

以上就是关于truncate和delete的区别全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

更多相关资讯

1、空间不同: 表和索引所占空间。当表被truncate 后,这个表和索引所占用的空间会恢复到初始大小,delete操作不会减少表或索引所占用的空间。 2、应用…
查看详情
1、空间不同: 表和索引所占空间。当表被truncate 后,这个表和索引所占用的空间会恢复到初始大小,delete操作不会减少表或索引所占用的空间。 2、应用…
查看详情
1、空间不同: 表和索引所占空间。当表被truncate 后,这个表和索引所占用的空间会恢复到初始大小,delete操作不会减少表或索引所占用的空间。 2、应用…
查看详情
相关资讯
猜你喜欢