📜  DELETE、DROP 和 TRUNCATE 之间的区别

📅  最后修改于: 2021-09-08 15:42:13             🧑  作者: Mango

1. 删除:
基本上,它是一个数据操作语言命令 (DML)。它用于删除表的一个或多个元组。借助“DELETE”命令,我们可以一次性删除所有行,也可以逐行删除。即,我们可以根据要求或使用 Where 子句的条件使用它。它比 TRUNCATE cmd 相对慢。

  • 句法 –
    如果我们想删除表的所有行:
    DELETE from ; 
  • 句法 –
    如果我们想根据条件删除表中的行,那么我们使用 WHERE 子句,
    DELETE from  WHERE  ; 

笔记 –
这里我们可以使用“ROLLBACK”命令来恢复元组。

2. 删除:
它是数据定义语言命令 (DDL)。它用于删除整个表。在“DROP”命令的帮助下,我们可以一次性删除(删除)整个结构,即删除模式的命名元素。通过使用这个命令,整个表的存在就完成了或者说丢失了。

  • 句法 –
    如果我们想删除表:
    DROP table ;  

笔记 –
这里我们不能使用“ROLLBACK”命令来恢复表。

3.截断:
它也是数据定义语言命令 (DDL)。用于一次性删除关系(表)的所有行。在“TRUNCATE”命令的帮助下,我们不能删除单行,因为这里没有使用 WHERE 子句。通过使用此命令,表中所有行的存在都将丢失。它比 delete 命令更快,因为它可以快速删除所有行。

  • 句法 –
    如果我们想使用 truncate :
    TRUNCATE  ;  

笔记 –
这里我们不能使用“ROLLBACK”命令来恢复表的元组。