# 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

# 9.2 清空表数据

-- 清空表
TRUNCATE TABLE 表名;

-- 例如:清空tb_employee表
TRUNCATE TABLE tb_employee;
1
2
3
4
5

在清空整个表数据的时候,建议使用 TRUNCATE

TRUNCATE:快速清空,速度快,没有逐行删除,无日志,不能回滚,会重置AUTO_INCREMENT计数器。

DELETE:逐行删除,有事务控制,保留删除操作的日志。