SQL输入
SQL输出
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.created_at > NOW() - INTERVAL 30 DAY GROUP BY u.id, u.name HAVING COUNT(o.id) > 5 ORDER BY orders DESC LIMIT 100
关于 SQL 格式化
ORM 拼出来的或日志里抓到的 SQL 经常是挤成一长行的,关键字、字段、子查询全堆在一起难以阅读。本工具在浏览器本地对 SQL 进行格式化,自动换行、缩进、对齐关键字,让 SELECT、JOIN、WHERE 等结构层次分明,便于审阅和优化。语句全程在本机解析,含真实表名的查询不会上传服务器。 建议在日常开发中收藏本工具,遇到数据格式转换需求时即可快速打开使用。所有转换均在浏览器本地完成,数据不会上传,可放心粘贴敏感内容。
使用场景
- 美化日志 SQL — 把日志里挤成一行的慢查询格式化,看清 JOIN 和子查询结构。
- 审阅 ORM 输出 — 格式化 ORM 生成的 SQL,确认它是否产生了预期的查询。
- 优化前梳理 — 把复杂查询排版清晰,定位多余的子查询或缺失的索引条件。
- 统一团队风格 — 把同事写法各异的 SQL 统一缩进风格,方便 code review。
- 教学讲解 — 把嵌套查询分层展开,向新人讲解执行逻辑与条件关系。
常见问题
会改变 SQL 的执行结果吗?
不会。格式化只调整空白、换行和缩进,不改动关键字、字段和逻辑,语义与执行结果完全一致。
支持哪些数据库方言?
对标准 SQL 以及 MySQL、PostgreSQL 等常见方言的语法都能良好排版。少数厂商特有语法可能不被完全识别,但通常不影响整体格式化。
关键字会被改成大写吗?
工具通常会把关键字统一为大写以提升可读性,字段名和值的大小写保持不变。
能压缩成一行吗?
本工具侧重美化排版。若需要把多行 SQL 压成单行用于嵌入代码,可手动去除换行,或在支持压缩的模式下处理。
注释会被保留吗?
常见的单行(--)和多行(/* */)注释一般会被保留并合理放置,但极个别位置的注释可能被重新换行,建议格式化后快速核对。
有浏览器兼容性要求吗?
本工具兼容所有现代浏览器(Chrome、Firefox、Edge、Safari),无需安装任何插件或扩展。
可以离线使用吗?
首次加载后,部分功能在离线状态下仍可使用。页面资源加载后,核心逻辑完全在浏览器本地运行,不依赖网络。