日期:2014-05-16  浏览次数:20486 次

delete和trancate的区别.txt
delete:属于DML语句,删除数据库中指定条件的数据,相应语法:
        DELETE table WHERE a = b;
        执行该语句后,需要使用commit进行提交才能反映到数据库中

TRUNCATE:(不是trancate)属于DDL语句,快速的删除指定表的所有数据,
        TRUNCATE在各种表上无论是大的还是小的都非常快,同其它DDL语句一样,都显示的有提交操作,因此,执行之后是无法进行回滚操作的。TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比Delete操作后的表要快得多。TRUNCATE不能触发任何Delete触发器。当表被清空后表和表的索引将重新设置成初始大小,而delete则不能。
   语法:TRUNCATE TABLE 表名

DROP:属于DDL语句,作用是删除整个表、删除指定的用户、删除指定的存储空间等等
  语法:
drop table table_name [cascade constraint]
drop user user_name [cascade]
drop tablespace tablespace_name including content and datafiles