Delete和Truncate有什么区别?

Delete和Truncate之间的区别是

删除

截短

Delete语句用于从表中删除行。可以回滚。

Truncate语句用于删除表中的所有行并释放包含表的空间。它不能回滚。

我们可以在DELETE语句中使用WHERE条件,并可以删除所需的行

我们不能在TRUNCATE语句中使用WHERE条件。因此,我们不能仅删除必需的行

我们可以使用DELETE删除特定的行

我们只能使用TRUNCATE一次删除所有行

删除是DML命令

截断是DDL命令

删除维护日志,并且性能比截断慢

截断可最大限度地减少日志并提高性能

我们需要对Table具有DELETE权限才能使用DELETE命令

我们至少需要对表具有ALTER权限才能使用TRUNCATE命令


个人简介

我是一名测试兼开发工程师,目前25K,目前做的是无人驾驶,欢迎和大家一起交流开发测试技术,一起高薪就业,我们还有一起打妖怪的群哦,还有面试题小程序哦!