SQL 格式化与压缩
格式化所有处理都在浏览器本地完成,数据不上传服务器
输入
输出
把挤在一行里的 SQL 展开成按子句分行的结构:每个子句单独一行、正文缩进一级,AND / OR 与 JOIN / ON 各自成行,括号里是子查询时再往里进一层,收尾的 ) 退回原位。关键字可以统一大写、小写或保持原样,标识符与被引号包起来的内容永远不动。字符串、注释、反引号与方括号标识符、Postgres 的美元引用内部都不参与结构判断,所以字符串里的分号不会把一条语句切成两半。
功能
- 按子句换行:SELECT / FROM / WHERE / GROUP BY / ORDER BY / HAVING / LIMIT / VALUES / SET / RETURNING 等
- AND / OR / JOIN / ON 各自成行,条件多时也能一眼看清边界
- 括号内是子查询时按块展开,收尾的 ) 退回到子句正文的层级
- 函数调用的括号保持内联,COUNT(*) 不会被拆散
- 关键字可统一大写、小写或保持原样;标识符与字符串永远原样保留
- 字符串、注释、反引号与方括号标识符、Postgres 美元引用内部的内容不参与结构判断
- 压缩模式删掉注释与多余空白,并且不会把 - -1 粘成 --1(那会变成注释,后半句整段失效)
- 不做语法校验:畸形 SQL 会尽力缩进而不是报错
使用方法
- 把 SQL 粘贴进输入框
- 选择处理方式、缩进与关键字大小写
- 按 Ctrl/⌘ + Enter 或点「运行」
- 点「复制」取走结果
常见问题
- 会校验 SQL 语法吗?
- 不会。这个工具只重排空白与关键字大小写,不做语法解析,写错的 SQL 会照样被格式化输出。它的用途是让能跑的语句读起来清楚,而不是替代数据库的报错信息。
- 压缩模式为什么把注释也删了?
- 行注释一旦被压到同一行,后面的语句会被整段注释掉,而输出的内容看上去完全正常。与其留下随时会吃掉代码的注释,不如一起删掉;需要保留注释就用格式化模式。
- 支持哪些数据库方言?
- 关键字表按通用 SQL 整理,同时照顾了 MySQL 的 # 注释与反引号、SQL Server 的方括号标识符、Postgres 的 $$ 美元引用与 :: 转换。格式化本身与方言无关。
- SQL 会被上传吗?
- 不会。全部处理在浏览器内存里完成,页面不发任何请求,断网也能用。
相关工具
JSON 转代码
格式化把 JSON 样本转成 TypeScript interface、Go struct、Java class 或 Rust struct:不齐的键标成可选、类型冲突退化为联合类型。全程在浏览器本地生成。
模拟数据
生成器按「字段名:类型」写几行字段,就能得到一整批格式逼真的模拟数据,可导出 JSON、CSV 或 SQL。全部在浏览器本地生成,不上传。
文本清洗
文本处理清洗从日志或表格里复制出来的一列内容:去重行、排序、去空行、去首尾空白、去行号、合并多空格,规则逐条开关。粘贴的内容只在本机处理。
JSON 格式化
格式化在线 JSON 格式化与校验工具,支持格式化、压缩、语法错误定位到具体行列、键名递归排序。所有解析都在浏览器本地完成,数据不上传服务器。
XML 格式化
格式化在线 XML 格式化与压缩:按标签层级缩进,注释、CDATA 与 DOCTYPE 各自成行,属性值里的空白原样保留。全程在浏览器本地完成,内容不上传。
HTML 格式化
格式化在线 HTML 格式化与压缩:按标签层级缩进,文本与行内标签保持同一行,script 与 pre 内容原样保留。代码不出浏览器,不上传服务器。