直接方法:使用 TRUNCATE TABLE 语句清空表,快速且不会触发约束。间接方法:使用 DELETE FROM 语句,可过滤要删除的数据,但速度较慢。

如何清空 Oracle 表
直接方法:
使用 TRUNCATE TABLE 语句,该语句可快速删除表中的所有数据并重置自增列。例如:
TRUNCATE TABLE my_table;
间接方法:
通过 DELETE FROM 语句删除表中的所有数据。例如:
DELETE FROM my_table WHERE 1=1;
哪个方法更好?
-
TRUNCATE TABLE速度更快,并且不会触发数据库触发器或外键约束。 -
DELETE FROM允许更灵活地过滤要删除的数据,但速度较慢。
注意事项:
-
TRUNCATE TABLE无法回滚,请在使用前确保您不会需要数据。 -
DELETE FROM可以回滚,只要您已启用回滚。 - 对于有外键约束的表,必须先删除引用行,然后才能删除数据。
- 如果表有自增列,则
TRUNCATE TABLE会重置这些值,而DELETE FROM不会。










