← 返回工具箱

SQL 格式化

SQL FORMAT · 代码格式化

把挤成一行的 SQL 美化排版,关键字大写并换行缩进;review 同事的“面条 SQL”时是救星。

SQL 输入
格式化结果

>_ 使用指南 · GUIDE

把挤成一行的 SQL 粘进来,立即得到美化排版:关键字统一大写、按子句换行、字段缩进对齐,SELECT/WHERE/JOIN 的结构一眼看清。支持反向压缩成单行,方便塞进日志或代码字符串。

Review 同事的「面条 SQL」、分析慢查询日志里的长语句、给数据库课的作业排版,都是它的高频场景。解析与排版在浏览器本地完成,含表结构与业务字段名的 SQL 也可以放心贴。

>_ 常见问题 · FAQ

Q1 · SQL 为什么要格式化?大写关键字有什么讲究?

SQL 不区分大小写,一行写完也能跑。但人要读:格式化后每个子句独立成行,JOIN 关系、过滤条件一眼可辨,改错、优化、交接都更快。关键字大写是社区约定(小写关键字 + 大写表字段名是另一派),核心是一致——本工具默认统一大写关键字,让语句的「骨架」凸显出来。

Q2 · 格式化后的 SQL 能直接执行吗?

能,空白与换行不影响语义,格式化只是加排版。但注意两点:① 压缩方向(多行变一行)时字符串字面量内部的内容会原样保留,不会被误改;② 特定方言的特殊语法(存储过程、窗口函数分支)个别格式化器支持度不同,执行前应先在目标数据库验证。

Q3 · 支持哪些 SQL 方言(MySQL / PostgreSQL / Oracle)?

本工具处理的是通用 SQL 语法骨架(SELECT/FROM/WHERE/JOIN/GROUP BY 等),主流方言的基础语句都适用。方言私有语法(如 MySQL 的 LIMIT、Oracle 的 ROWNUM、各家 JSON 函数)按普通标识符保留,不影响排版。深度依赖方言特性的超长存储过程建议在 IDE 里用方言专用格式化器。

Q4 · SQL 里有敏感数据(表名、字段名)会被上传吗?

不会。解析与排版全部在你的浏览器本地完成,语句不经网络传输、不落存储。不过按最小暴露原则,非常敏感的生产 SQL 建议把敏感值(手机号、密钥)先替换成占位符再粘贴——这也是使用任何在线工具的通用好习惯。

Q5 · 怎么排查一条长 SQL 的性能问题?格式化有帮助吗?

很有帮助:性能问题的第一步是「读懂它在干什么」。格式化后按子句检查——SELECT 是否捞了不需要的列、JOIN 顺序与条件、WHERE 里有没有对字段套函数(索引失效高发区)、GROUP BY 前的数据量。先排版、再逐段审、最后 EXPLAIN 验证,是排查长 SQL 的标准路径。

嵌入代码

把下面的代码复制到你的网页,即可将本工具嵌入为 iframe(自动隐藏导航与页脚)。

高度px
此工具在你的浏览器本地运行,输入内容不会上传。按 Ctrl K 可随时切换到其他工具。