TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。 DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。
TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
TRUNCATE,DELETE,DROP放在一起比较:
- TRUNCATE TABLE:删除内容、释放空间但不删除定义。(会执行回滚操作)
- DELETE TABLE:删除内容不删除定义,不释放空间。
- DROP TABLE:删除内容和定义,释放空间。
delete truncate drop
1, delete不删除表空间,意味着会执行回滚操作,不删索引视图表结构,删除表数据
2,truncate 相当于是没有条件的delete,释放表空间,不删除表结构,不删除索引,视图
3,drop 会把数据,表结构,索引,视图,表空间一并删除,速度很快
TRUNCATE TABLE 表名
例子
TRUNCATE TABLE tbl_user
说明:
TRUNCATE 相当于没有条件的DELETE
删除掉了所有信息,只留下表结构
删除表格中某条件下的信息
保存表结构
DELETE FROM 表名 WHERE 条件
例子:DELETE FROM tbl_user WHERE username=‘zhaoying’