truncate和delete的区别
在SQL中,delete能快速删除数据表中所有记录,但保留数据表结构的语句是Truncate。 使用Truncate删除所有行,该语句总是比不带条件的DELETE语句要快,因为DELETE语句要记录对每行的删除操作,而Truncate 语句只记录整个数据页的释放。
Truncate语句立即释放由该表的数据和索引占用的所有空间,所有索引的分发页也将释放。
相同点:
truncate和 delete只删除数据不删除表的结构(定义)
用法
1.delete语句:不删除表的情况下删除所有的行。
delete from table_name;
例:delete from UserInfo;
2.delete删除指定的行
delete from 表名称 where 列名 = 值
例:delete from UserInfo where ID = 1;
3.truncate语句:删除整个表数据,但保留表结构
truncate table table_name;
例: truncate table UserInfo;