DELETE 基础要点
- 语法:DELETE FROM 表 WHERE 条件,省略 WHERE 清空整表
- DELETE 逐行删除,写 binlog 与 undo 日志,事务内可回滚
- 自增主键不会因 DELETE 重置,删完再插 id 继续往后
- 带条件删除是日常操作,先 SELECT 看行数更稳
- 连表删除:DELETE 表A FROM 表A JOIN 表B ON 条件
- 大表删除建议分批,DE... LIMIT 循环执行更平稳
DELETE 基础示例
DELETE FROM user WHERE id = 1001;
-- 连表删除:删掉没有下过单的用户
DELETE u FROM user u
LEFT JOIN orders o ON u.id = o.user_id
WHERE o.id IS NULL;
避坑提醒:DELETE 只删数据不删表,自增 id 也不归零;想让计数重来得用 TRUNCATE 或重建表。