清空表 (truncate)
与删除表中数据 (delete)
删除表信息的方式有两种:
1 | truncate table table_name; |
注:
truncate
操作中的table
可以省略,delete
操作中的*
可以省略
truncate
、delete
清空表数据的区别 :
truncate
是整体删除 (速度较快),delete
是逐条删除 (速度较慢);truncate
不写服务器log
,delete
写服务器log
,也就是truncate
效率比delete
高的原因;truncate
不激活trigger
(触发器),但是会重置Identity
(标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的ID
数。而delete
删除以后,identity
依旧是接着被删除的最近的那一条记录ID
加1后进行记录。如果只需删除表中的部分记录,只能使用DELETE
语句配合where
条件s