1、Delete 和 Truncate 区别:
truncate table命令将快速删除数据表中的所有记录,但保留数据表结构。
这种快速删除与delete from 数据表的删除全部数据表记录不一样,delete命令删除的数据将存储在系统回滚段中,需要的时候,数据可以回滚恢复, 而truncate命令删除的数据是不可以恢复的。
2、如果表之间有外键约束,清空数据表需要首先 忽略外键,删除数据 ,再恢复外键;
执行的Sql命令是:
1 SET FOREIGN_KEY_CHECKS=0;
2 truncate table tablename;
3 SET FOREIGN_KEY_CHECKS=1;
2 truncate table tablename;
3 SET FOREIGN_KEY_CHECKS=1;