目录
delete
delete from + 表名(+ 子句)
删除部分数据
- 和update一样,后面的子句(无论是where,还是limit,order by等)都属于筛选子句
- 因为删除操作一定是最后做的,前面所有的操作都是在寻找特定的数据
删除全部数据
- 也就是不加任何筛选:
- 虽然数据全部删除了,但是自增键不会变化(这里是4):
- 如果再插入数据:
truncate
引入
如果我们想要清空表中数据,并且重置自增键值的话,就可以使用truncate
介绍
truncate (table) + 表名
注意看,当我们截断表后,0行被影响
- 因为它会直接删除所有行,而不会经过事务,因此表中的行数会立即变为 0
- 它不会将删除的行记录在事务日志中,也不会触发事务管理机制
当我们查看建表语句时,发现没有自增键(其实就是意味着它现在是初始值):
- 当我们插入数据,发现确实是从1开始的: