输入
就绪
行数: 0
单词数: 0
字符数: 0
大小: 0 KB
输入统计信息可通过此字段上方的“统计”按钮查看。
输出
行数: 0
单词数: 0
字符数: 0
大小: 0 KB
输出统计信息可通过此字段上方的“统计”按钮查看。
结果仅供参考,可能包含错误。请自行核实重要信息。使用本工具风险自负。
这个工具能做什么
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 关键字的大小写。表名、列名、字符串值和注释都保持不变,因此查询返回的结果相同。
这个工具免费吗?
是的,完全免费。无需注册或电子邮箱。结果直接显示在本页。
如何获取结果?
在此页面使用工具即可查看结果,无需通过电子邮件接收。