• TRUNCATE TABLE语句:
      • 删除表中所有的数据
      • 释放表的存储空间
    • 举例:
    1. TRUNCATE TABLE detail_dept;
    • TRUNCATE语句不能回滚,而使用 DELETE 语句删除数据,可以回滚
    • 对比:
    1. SET autocommit = FALSE;
    2. DELETE FROM emp2;
    3. #TRUNCATE TABLE emp2;
    4. SELECT * FROM emp2;
    5. ROLLBACK;
    6. SELECT * FROM emp2;

    阿里开发规范:

    【参考】TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少,但 TRUNCATE 无事务且不触发 TRIGGER,有可能造成事故,故不建议在开发代码中使用此语句。

    说明:TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同。