MySQL 删除数据
DELETE 语句用于从表中删除记录。
基本语法
SQL
DELETE FROM 表名 [WHERE 条件];
常用示例
删除指定记录
SQL
DELETE FROM users WHERE id = 1;
条件删除多条
SQL
DELETE FROM users WHERE age < 18;
DELETE FROM users WHERE status = 'inactive' AND created_at < '2025-01-01';
删除所有记录(慎用)
SQL
DELETE FROM users;
限制删除数量
SQL
DELETE FROM users WHERE status = 'inactive' LIMIT 100;
DELETE 与 TRUNCATE 区别
| 对比项 | DELETE | TRUNCATE |
|---|---|---|
| 条件删除 | 支持 | 不支持 |
| 速度 | 较慢 | 更快 |
| 自增ID重置 | 不重置 | 重置为1 |
| 回滚 | 支持 | 不支持 |
| 触发器 | 触发 | 不触发 |
注意事项
- WHERE 条件不可省略,否则删除全表数据
- 删除前建议先用 SELECT 验证条件
- 大批量删除建议分批执行或使用 TRUNCATE
- 重要数据删除前建议备份
要点总结
- 使用 DELETE FROM ... WHERE 删除数据
- 必须带 WHERE 条件,防止误删全表
- 清空全表数据考虑使用 TRUNCATE TABLE
重要提醒:执行 DELETE 必须带 WHERE 条件,否则删除全表数据!
📝 发现内容有误?点击此处直接编辑