什么是SQL 格式化?
SQL 格式化通过成熟解析器整理查询中的关键字、子句、列表、连接和缩进,并提供通用 SQL、MySQL、PostgreSQL、SQLite 与 T-SQL 方言选择。它适合提高复杂查询的可读性和审查效率,但不会连接数据库、解析真实表结构或执行任何语句。常见使用场景包括:整理包含 JOIN、子查询、分组和排序的长查询。;按目标数据库方言统一工单、文档或代码中的 SQL 排版。;在执行前更清楚地审查条件、列清单和逻辑分组。页面同时列出输入边界、输出规则和限制,便于在复制结果或投入实际流程前核对格式、语义与安全注意事项。
适用场景
- 整理包含 JOIN、子查询、分组和排序的长查询。
- 按目标数据库方言统一工单、文档或代码中的 SQL 排版。
- 在执行前更清楚地审查条件、列清单和逻辑分组。
使用方法
- 选择最接近目标数据库的 SQL 方言。
- 粘贴查询并选择关键字大小写。
- 格式化后在目标数据库中复核语法。
- 先使用页面提供的复杂示例验证当前选项和运行方向,再替换为自己的数据。
- 检查输出区、状态提示和限制说明,确认结果符合预期后再复制、下载或继续处理。
可运行示例
工作区中的“示例 1”和“示例 2”按钮会载入对应内容。两个示例覆盖不同结构、方向或边界,可以直接运行并观察输出与状态提示。
示例 1
select u.id,u.name,count(o.id) 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示例 2
select date_trunc('day',created_at) day,count(*) total from events where created_at>=now()-interval '30 days' group by day order by day输入规则
- 应选择最接近目标数据库的方言再粘贴 SQL。
- 输入只作为文本解析,不需要也不应提供数据库连接信息。
- 存储过程、模板占位符和厂商扩展是否支持取决于解析器。
- 文本输入在运行前按字符计数,当前页面上限为 500,000;文件类功能另按页面显示的文件上限执行。
- 格式化不验证表名、列名或权限。
输出规则
- 输出按所选方言重新排列空白、缩进和常见子句。
- SQL 关键字可统一为大写或小写,标识符和值不会因此改名。
- 格式化不验证表、列、权限、事务效果、注入风险或查询性能。
- 输出只反映当前输入、方向和选项;切换模式或修改输入后应重新运行,不应把旧结果当成新结果。
- 复杂厂商扩展可能无法完整解析。
限制与注意事项
- 格式化不验证表名、列名或权限。
- 复杂厂商扩展可能无法完整解析。
- 不要把格式化成功当作 SQL 安全审查。
数据处理说明
SQL 文本只在浏览器中传给本地 formatter,不会建立数据库连接、执行查询、读取模式或保存历史。关闭或刷新页面后,本工具不会保留本次数据。