在SQL中delete和delete和truncatee命令都可用于删除数据(记录)那么它们之间有什么区别?下面本篇文章就来给大家介绍一下delete和delete和truncatee命令之间的区别希望对大家有所帮助。
delete命令有助于从数据庫中的表中删除记录
可以使用SQL的delete命令来删除student表中的所以记录:
也可以删除student表中的特定记录:
上面的SQL命令将删除student_id为2的记录。执行该语句后表中将只包含两条记录:student_id为1和3的记录。
delete和truncatee命令有助于从表中删除所有记录它还从数据库中删除表结构。因此在特定表上执行delete和truncatee命令時,它还会初始化主键
以下SQL命令将删除student表中的所有记录。此外它从数据库中删除表结构。
delete是数据操作语言(DML)命令;而delete和truncatee是数据定义語言(DDL)命令
delete命令根据指定的SQL语句从表中删除单个,多个或所有记录;而delete和truncatee命令从数据库中删除所有记录和表结构
delete命令支持WHERE子句,可鉯使用带有DELETE的where子句来过滤和删除特定记录;而delete和truncatee命令不支持WHERE子句。
delete命令采用行级锁定表中的每一行都被锁定以进行删除;delete和truncatee命令采用表级锁定,锁定了整个表以删除所有记录
delete命令可以与索引视图一起使用;而,delete和truncatee命令不能与索引视图一起使用
由于delete命令维护日志,因此速度很慢但是,由于delete和truncatee命令在事务日志中维护最少的日志记录因此执行速度更快。
delete命令不会影响表结构而delete和truncatee命令会从数据库中删除表结构。
delete命令比delete和truncatee命令使用更多的事务空间