1.删除:
删除是一个
DML(数据处理语言)
命令, 当我们指定要从表或关系中删除或删除的行(元组)时使用。 DELETE命令可以包含WHERE子句。如果
其中
子句与DELETE命令一起使用, 然后它仅删除或删除满足条件的那些行(元组), 否则默认情况下它将从表中删除所有元组(行)。
DELETE命令的语法:
DELETE FROM TableName
WHERE condition;
2.截断:
TRUNCATE是一个
DDL(数据定义语言)
命令, 并用于删除表中的所有行或元组。与DELETE命令不同, TRUNCATE命令不包含WHERE子句。在TRUNCATE命令中, 记录每个已删除数据页的事务日志。与DELETE命令不同, TRUNCATE命令速度很快, 使用TRUNCATE命令后我们无法回滚数据。
TRUNCATE命令的语法:-
TRUNCATE TABLE TableName;
让我们看看DELETE和TRUNCATE命令之间的区别:
序号 | 删除 | 截短 |
---|---|---|
1. | DELETE命令用于删除指定的行(一个或多个)。 | 而此命令用于删除表中的所有行。 |
2. | 这是DML(数据操作语言)命令。 | 它是DDL(数据定义语言)命令。 |
3. | 在DELETE命令中可能有WHERE子句以过滤记录。 | 虽然TRUNCATE命令中可能没有WHERE子句。 |
4. | 在DELETE命令中, 在删除元组之前将其锁定。 | 在此命令中, 数据页在删除表数据之前被锁定。 |
5. | 即使使用DELETE命令, 我们也可以回滚数据。 | 使用此命令时, 我们无法回滚。 |
6. | DELETE命令比TRUNCATE命令慢。 | 而TRUNCATE命令比DELETE命令快。 |