TRUNCATE
- 用法: TRUNCATE TABLE 表名
- DDL语句,删除内容、释放空间,保留表结构。删除表数据,不能删除行数据。
DELETE
- 用法: DELETE TABLE 表名 WHERE 条件
- DML语句,同TRUNCATE类似,DELETE即可删除行也是删除整个表数据,删除操作有记录,可以回滚。
DROP:
- 用法:DROP TABLE 表名
- DDL语句,删除内容和表定义,并释放空间。即删除数据和表结构。
总之:
如果想删除表,用drop;
如果想保留表而将所有数据删除,如果和事务无关,用truncate即可;
如果和事务有关,或者想触发trigger,用delete;
如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据。