delete、drop、truncate三兄弟

比较方面/具体命令 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)

你可能感兴趣的:(数据库,sql,mysql)