SQL 格式化工具 在线
把挤成一团的查询整理成队友能审查的样子,再进入 migration、报表或正式环境修正。
Dialect:
缩进:
Keywords:
输入 SQL
格式化输出
等待输入...为什么要格式化 SQL?
密集 SQL 很容易藏小错:错误 join、少一个括号、filter 放错 clause,或昨天看起来很清楚的 alias。格式化不会让 query 自动正确,但能让意图清楚到足以审阅。
结构可读: 一致的缩进和换行,让 SELECT lists、joins、subqueries、CTEs 和 WHERE conditions 更容易追。
团队一致: 共享格式规则能降低 migrations、控制台、统计笔记本和 stored query libraries 里的审阅噪音。
排错更快: 干净版面让逻辑错误、缺少 aliases、AND/OR groups 放错和 broken conditions 更容易被看见。
Diff 更好看: 稳定换行让 pull requests 里的 query 修改更容易审阅,而不是读一整面单行 SQL。
Dialect 快速参考
| Dialect | 常见特性 | 建议设置 |
|---|---|---|
| Standard SQL | 一般关联式查询的通用基准。 | Uppercase keywords,2-space indentation |
| MySQL / MariaDB | Backticks、LIMIT clauses 和 MySQL-specific syntax。 | MySQL dialect |
| PostgreSQL | $tag$ strings、JSONB operators 和大量 casts。 | PostgreSQL dialect |
| Transact-SQL (T-SQL) | Square-bracket identifiers、TOP clauses 和 SQL Server syntax。 | T-SQL dialect |
常见问题
这会把我的 SQL 上传到服务器吗?
不会。格式化在浏览器中执行,query text 会留在页面上。
如何重新格式化压缩 SQL?
把单行 query 贴到输入区,选择最接近的 dialect。Formatter 会自动重建换行、缩进和 keyword casing。
格式化会改变 query 执行方式吗?
空白和 keyword casing 不应改变 SQL semantics。不过 formatted output 仍是 code,请审阅、测试,并留意 dialect-specific syntax。
该选哪个 SQL dialect?
选择实际执行 query 的数据库。PostgreSQL、MySQL 和 SQL Server 的 quoting rules、functions、casts 和 limit syntax 不同,越接近的 dialect 输出越干净。