这个格式化器做什么
它会将你的 SQL 分词,并按一致规则重建:子句关键词(SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY、LIMIT、JOIN、ON、SET、VALUES…)另起一行并缩进;逗号和运算符前后加空格;字符串和注释原样保留;括号层级增加缩进。
它不做什么
- 它不是 linter——语法错误留给你的数据库去判断。
- 它不认识你所用方言的冷门语法(PL/pgSQL 函数体可能需要手动整理)。
- 它绝不会把你的查询发送到任何地方——一切都在浏览器标签页中运行。
格式化约定
子句优先风格:每个主要子句独占一行且处于同一层级,子查询缩进一级,AND/OR 与各自的 WHERE 对齐。这与大多数开源项目使用的风格一致,在 diff 中也易于阅读。
示例——输入:select u.id,u.name from users u where u.active=true order by u.id 会变成:
SELECT u.id,
u.name
FROM users u
WHERE u.active = true
ORDER BY u.id;