SQL 格式化与美化工具
在浏览器中即时格式化、美化和压缩 SQL。支持 PostgreSQL、MySQL、SQL Server、BigQuery、Snowflake、Oracle 和 SQLite。免费、隐私保护 — 你的 SQL 不会离开设备。
🔒 100% 浏览器端 — 你的 SQL 绝不会离开设备。
什么是 SQL 格式化?
SQL 格式化(也称为美化或美化打印)会以一致的缩进、换行和关键字大小写重写查询,使其结构易于阅读。查询在格式化前后的运行结果完全相同 — 改变的只有空白字符。格式化让长查询在 Pull Request 中可被审查、更易于调试,并在团队内保持一致。压缩则相反:它去除注释,将查询折叠为一行紧凑的内容,便于嵌入代码或日志。
核心功能
9 种 SQL 方言
PostgreSQL、MySQL、SQL Server(T-SQL)、BigQuery、Snowflake、Oracle(PL/SQL)、SQLite、MariaDB 以及标准 SQL。
格式化与压缩
美化以提升可读性,或压缩为单行 — 压缩时会安全地去除注释。
100% 隐私保护
所有处理均在浏览器中完成。你的 SQL 绝不会发送到服务器。
样式控制
可选择关键字大小写以及 2 空格、4 空格或制表符缩进。
示例
杂乱的带 JOIN 的 SELECT
select u.id,u.name,count(o.id) as orders from users u left join orders o on o.user_id=u.id where u.active=true group by u.id,u.name order by orders desc
将一行带 JOIN、聚合和 GROUP BY 的查询缩进为可读的布局。
嵌套子查询
select * from products where category_id in (select id from categories where parent_id=(select id from categories where slug='electronics')) and price between 100 and 500
拆解嵌套子查询,让每一层逻辑都清晰可见。
CTE(WITH 子句)
with recent as (select user_id,max(created_at) last_seen from sessions group by user_id) select u.email,r.last_seen from users u join recent r on r.user_id=u.id where r.last_seen> now() - interval '7 days'
格式化一个带有下游 JOIN 的公用表表达式(CTE)。
批量 INSERT
insert into logs(level,message,created_at) values('info','started',now()),('warn','slow query',now()),('error','timeout',now()) 对齐多行 INSERT 的值,便于审查。
常见使用场景
- 代码审查
- 在提交 Pull Request 前格式化查询,让审查者看到整洁、一致的 SQL。
- 调试
- 美化从日志或 ORM 中复制的单行查询,快速定位问题。
- 文档编写
- 为运维手册和技术文档生成缩进整齐的 SQL 示例。
- 嵌入代码
- 在内联到应用代码或配置之前,将查询压缩为单行。
技术细节
- 方言感知解析
- 基于 sql-formatter 引擎构建,能理解方言特有的语法、引号规则和函数。
- 浏览器端运行
- 完全在客户端运行;任何 SQL 都不会离开你的设备或抵达服务器。
- 注释安全的压缩
- 压缩会去除行注释和块注释,并完整保留带引号的字符串字面量。
最佳实践
- 选择正确的方言
- 选择你实际使用的数据库,可避免对方言特有语法(如反引号或 T-SQL 方括号)做出错误的格式化。
- 统一关键字大小写
- 在团队内约定使用 UPPERCASE 关键字,让差异对比更一致。
- 不要压缩需要再编辑的内容
- 源文件中保留格式化后的 SQL;仅在嵌入或传输时才压缩。
常见问题
如何在线格式化 SQL?
如何格式化 PostgreSQL 查询?
如何格式化 SQL Server(T-SQL)?
如何格式化 Snowflake 或 BigQuery 的 SQL?
使用此工具时我的 SQL 安全吗?
格式化和压缩 SQL 有什么区别?
这个工具会改变我的查询的行为吗?
SQL 应该使用什么缩进?
相关工具
查看所有工具 →进制转换器 — 二进制、十六进制、十进制、八进制互转
转换工具
在线免费进制转换工具,支持二进制、八进制、十进制、十六进制及 2-36 任意进制互转。无需注册,数据不离开浏览器,即时获取结果。
Base64 解码与编码工具
编码和格式化
免费在线 Base64 解码编码工具。实时转换,支持中文和 Emoji,100% 浏览器端运行,数据不离开设备,无需注册。
大小写转换器 — UPPERCASE、lowercase、camelCase 一次搞定
文本处理
在浏览器里把文本一键转成 UPPERCASE、lowercase、Title Case、Sentence case、camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE 等共 15 种命名格式。免费、纯本地、无需注册。
颜色转换器 — HEX、RGB、HSL 与 OKLCH
转换工具
在浏览器中将 HEX 转 RGB、HSL、OKLCH、OKLAB 与 CMYK,一键复制任意格式。免费、免注册,您的颜色永远不会离开本页。
Crontab 生成器与 Cron 表达式构建工具
日期和时间
在浏览器里构建、校验并解读 cron 表达式,按本地时间或 UTC 实时预览下一次运行。支持 POSIX 五字段语法、常用预设和中文描述。免费、隐私、无需注册。
CSV 转 JSON 转换器
编码和格式化
在浏览器中将 CSV 转换为 JSON。支持 RFC 4180、类型推断、表头行、大整数安全。100% 隐私,无需上传。