SQL 学习笔记:DELETE 删除数据(DELETE)

一、DELETE 语法

DELETE FROM 表 WHERE 条件;
-- 清空表:TRUNCATE TABLE 表;

二、参数说明

项目说明
DELETE FROM删除满足条件的行;省略 WHERE 删除全表
TRUNCATEDDL,清空全表,不可回滚(MySQL/Oracle 行为不同)
回滚DELETE 可 ROLLBACK;TRUNCATE 通常不能

三、注意事项

  • DELETE 同样务必加 WHERE,否则整表数据被删
  • TRUNCATE 比 DELETE 快且不记日志,但 Oracle/MySQL 中多数情况不可回滚
  • 大批量删除建议分批(加 LIMIT / ROWNUM)避免锁表与日志暴涨

四、经典案例

案例1:按条件删除

按条件删除

案例2:清空表 TRUNCATE

清空表 TRUNCATE

案例3:分批删除(防锁表)

分批删除(防锁表)

五、小结

DELETE 删除数据是数据库操作中的基础而关键的用法,建议结合文中的示例表在 Oracle 与 MySQL 中分别动手验证,注意两者在自增、分页、正则等处的语法差异,做到融会贯通。

💬 0 评论

评论(0)

登录后发表评论。