DELETE、TRUNCATE、DROP区别分析

来源:互联网 发布:php expecttelnet 编辑:程序博客网 时间:2024/05/01 17:52

DELETE :属于DML语句,删除数据库中指定条件的数据。

语法:DELETE TABLE WHERE A = B; 

执行该语句后,需要使用commit进行提交才能反映到数据库中 


TRUNCATE:属于DDL语句,快速的删除指定表的所有数据。

语法:TRUNCATE TABLETABLE_NAME

TRUNCATE在各种表上无论是大的还是小的都非常快,同其它DDL语句一样,都显示的有提交操作,因此,执行之后是无法进行回滚操作的。TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。TRUNCATE不能触发任何DELETE触发器。当表被清空后表和表的索引将重新设置成初始大小,而DELETE则不能。 
  
DROP:属于DDL语句,作用是删除整个表、删除指定的用户、删除指定的存储空间等等 
语法: 
drop table table_name [cascade constraint] 
drop user user_name [cascade] 
drop tablespace tablespace_name including content and datafiles
原创粉丝点击