SQL 格式化工具 — 免费在线

在下方粘贴压缩或格式混乱的 SQL,点击转换(或格式化按钮),即可获得带正确缩进的可读结果。

输入 就绪

输入统计信息可通过此字段上方的“统计”按钮查看。

输出

输出统计信息可通过此字段上方的“统计”按钮查看。

结果仅供参考,可能包含错误。请自行核实重要信息。使用本工具风险自负。

这个工具能做什么

SQL 格式化工具会用统一的缩进和换行重写查询,并把关键字改成大写。每个子句(SELECT、FROM、JOIN、WHERE、GROUP BY、ORDER BY)都从新的一行开始,下面的列或条件缩进两个空格。

它使用能理解 SQL 的格式化引擎,而不是简单的文本换行,因此能正确处理连接、子查询、CASE 表达式、CTE 和字符串字面量。标识符和值保持原样,改变的只有空白和关键字的大小写。

适用场景

  • 阅读从 ORM 日志、监控工具或错误信息中复制出来的很长的单行查询。
  • 为代码审查、文档或 Pull Request 整理查询,让所有人看到相同的排版。
  • 在用 SQL 转 JSON 转换器 把 INSERT 行变成数据之前整理 SQL。
  • 发现遗漏的连接条件或位置不对的 WHERE;当每个子句各占一行时,这些问题容易看出得多。

示例

输入

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 = 1 group by u.id, u.name order by orders desc;

输出

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 = 1
GROUP BY
  u.id,
  u.name
ORDER BY
  orders DESC;

关于这个工具的问题

如何格式化查询?

把 SQL 粘贴到输入框中,然后点击工具栏中的“格式化 SQL”按钮。格式化后的查询会替换输入内容,可以直接复制。

支持哪些 SQL 方言?

对于日常查询,标准 SQL 在 MySQL、PostgreSQL、SQL Server、SQLite 和 Oracle 上都能正确格式化。特定数据库的专有语法会按原样保留,即使没有被重新排版。

格式化会改变查询的作用吗?

不会。改变的只有空白和 SQL 关键字的大小写。表名、列名、字符串值和注释都保持不变,因此查询返回的结果相同。

这个工具免费吗?

是的,完全免费。无需注册或电子邮箱。结果直接显示在本页。

如何获取结果?

在此页面使用工具即可查看结果,无需通过电子邮件接收。