# MySQL教程 - 9 删除
增、删、改表中的数据都讲解了,下面讲解一下如何删除表中的数据。
# 9.1 删除表数据
语法:
DELETE FROM 表名 [WHERE 条件]
1
举个栗子:
-- 不添加条件就是删除所有数据,不太推荐这种用法,删除表数据,推荐使用下面的清空表数据
DELETE FROM tb_employee;
-- 删除id为1的数据
DELETE FROM tb_employee WHERE id = 1;
-- 删除所有性别为女的数据
DELETE FROM tb_employee WHERE gender='女';
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 9.2 清空表数据
-- 清空表
TRUNCATE TABLE 表名;
-- 例如:清空tb_employee表
TRUNCATE TABLE tb_employee;
1
2
3
4
5
2
3
4
5
在清空整个表数据的时候,建议使用 TRUNCATE
。
TRUNCATE:快速清空,速度快,没有逐行删除,无日志,不能回滚,会重置AUTO_INCREMENT计数器。
DELETE:逐行删除,有事务控制,保留删除操作的日志。