truncate 是DDL,用于清空表中的数据,因为是DDL语言所以不能够回滚,并且不触发trigger。
具体使用方式:TRUNCATE TABLE emp;
delete 是DML,用于where条件的清空数据,当没有where时清空所有数据。因为是DML语言所以可以回滚,并且在执行过程中触发trigger。具体使用方式为:DELETE FROM emp WHERE job = 'CLERK';
另外delete操作容易造成数据库表碎片,影响查询效率。当是快进快出表,并且要用到删除整个数据时要考虑truncate操作
具体使用方式:TRUNCATE TABLE emp;
delete 是DML,用于where条件的清空数据,当没有where时清空所有数据。因为是DML语言所以可以回滚,并且在执行过程中触发trigger。具体使用方式为:DELETE FROM emp WHERE job = 'CLERK';
另外delete操作容易造成数据库表碎片,影响查询效率。当是快进快出表,并且要用到删除整个数据时要考虑truncate操作