第 5 课

SQL 格式化与可读性

格式化日志、ORM 和评审中的长 SQL,让查询结构清晰可见。

从日志或 ORM 中复制出来的 SQL 往往很难阅读:

select u.id,u.email,o.total,case when o.total>100 then 'vip customer' else 'standard customer' end as segment from users u join orders o on o.user_id=u.id where o.created_at>='2026-01-01' and o.status in ('paid','refunded') order by o.created_at desc;

格式化不会让查询自动正确,但它会暴露结构:

  • 选择列变成列表。
  • JOIN 块更容易看见。
  • CASE 分支更容易阅读。
  • 过滤条件可以逐条扫描。
  • 排序和限制更不容易漏掉。

实用格式化习惯

在应用调试中,一致性比个人喜好更重要:

  • 主要子句单独换行。
  • 嵌套表达式和 CASE 分支缩进。
  • JOIN 条件靠近对应 JOIN。
  • 项目内保持关键字大小写一致。
  • 代码评审中不要顺手格式化无关查询,除非这是明确变更。

压缩有不同用途

压缩 SQL 会移除不必要的空白和注释,适合配置文件、复制示例或测试中需要嵌入单行 SQL 的场景。

如果 SQL 需要人工排查,不要在事故处理中使用压缩版本。调试时应保持可读格式。

关键结论

格式化是一种思考工具。它把密集字符串变成可检查、可讨论、可安全修改的结构。

打开 SQL 格式化工具,对同一条查询比较格式化与压缩结果,判断哪种更适合评审或嵌入。

想动手练习时,可使用 DevCove 相关工具——可选,不属于本课正文。

打开相关工具

返回课程概览