| 比较方面/具体命令 | delete | truncate | drop |
| 删除范围 | 逐行删除(记录行) | 逐页删除(数据页) | 整张表(数据+表结构) |
| 所属范畴 | 数据操作语言(DML) | 数据定义语言(DDL) | 数据定义语言(DDL) |
| 是否可以搭配where使用 | √ | × | × |
| 是否支持roll back操作 | √ | × | × |
| 是否释放空间 | × | × | √ |
| 删除后索引是否清零 | ×(继续沿用之前的继续自增) | √(从头开始) | - |
| 效率 | 低 | 较高 | 高 |
| 语法 | delete from 表名 where 条件 | truncate table 表名 | drop table 表名 |
SQL中命令的分类:
| DML(数据库操纵语言) | 操纵数据库的语言(SELECT 、UPDATE、 INSERT、 DELETE) |
| DDL(数据库定义语言) | 定义或改变表结构的(CREATE、ALTER、DROP) |
| DCL(数据库控制语 言) | 设置或更改数据库用户或角色权限的语句(GRANT、DENY、REVOKE) |