工具说明
关于 SQL 格式化工具
SQL Beautifier 会把压缩或难读的 SQL 查询重新排版成缩进清晰的结构。
适合整理 SELECT、JOIN、WHERE、GROUP BY、ORDER BY 等长语句,也可压缩成单行用于配置或测试。
如何使用 SQL Beautifier
- 粘贴 SQL 查询语句。
- 点击 Format 展开缩进,或点击 Compress 压缩为空白更少的一行。
- 格式化后重点检查 JOIN 条件、WHERE 过滤和括号层级。
常见使用场景
- 阅读日志里复制出来的一行 SQL。
- 提交 PR 前整理长查询,方便代码评审。
- 排查 WHERE 条件优先级和嵌套子查询。
SQL 格式化、方言和可读性
SQL 方言之间函数、引号和分页语法不同。格式化能提升可读性,但不会替你判断查询语义是否正确。
- 关键字换行能让 SELECT、FROM、JOIN、WHERE 更容易扫描。
- 子查询缩进有助于看清括号范围。
- 压缩 SQL 适合放进 fixture 或单行配置。
SQL 格式化常见问题
- 格式化会改变 SQL 结果吗?
- 不会。它只调整空白和换行,不应改变查询语义。
- 支持 MySQL、PostgreSQL、SQLite 吗?
- 常见语法都适合排版,但方言专有语法仍建议在目标数据库里验证。
- 输入会上传吗?
- 不会。SQL 格式化在浏览器本地执行,不会上传到 wetool.site。
SQL Beautifier 与 SQL 校验器
Beautifier 负责排版,不等同于数据库语法校验或执行计划分析。性能问题仍要用目标数据库的 EXPLAIN 检查。
SQL 方言迁移检查清单
格式化能让 SQL 更可读,但 MySQL、PostgreSQL、SQLite、SQL Server 的函数、引号和分页语法仍然不同。
- 字符串拼接、日期函数、JSON 函数和 LIMIT/OFFSET 是跨数据库迁移最常见的差异点。
- 双引号、反引号和方括号的含义因方言而异,格式化后仍要按目标数据库检查。
- 从日志复制 SQL 时,注意参数占位符可能已经被 ORM 替换或省略。
格式化后重点看什么
SQL Beautifier 不执行查询,也不会证明查询安全或高效。它的价值是把风险点变得更容易扫出来。
- 检查 JOIN 是否缺少 ON 条件,或 WHERE 条件是否因为括号优先级而扩大结果集。
- 检查 SELECT *、未限制的 DELETE/UPDATE、隐式类型转换和可能的全表扫描。
- 性能问题仍需在目标数据库用 EXPLAIN / ANALYZE 查看执行计划。