SQL 查询格式化
格式化和美化 SQL 查询,支持多种方言(MySQL、PostgreSQL、SQLite 等)。即时提升可读性。
此转换仅在您的浏览器中运行,不会上传任何内容。
- 输入0
- 输出0
- 选项Standard SQL · 2 空格
输入
输出
这个工具是什么?
在浏览器中美化 Standard SQL、MySQL、PostgreSQL、MariaDB、SQLite、BigQuery、PL/SQL、T-SQL 查询:调整空白、换行、缩进(1–8)并将关键字大写。
不是数据库客户端,不会执行 SQL 或校验 schema。方言主要影响标识符与厂商语法的切分方式。
适合整理日志/ORM 单行 SQL、PR 评审,以及更易扫读的 JOIN。
常见用途
- 把压缩的 ORM/日志查询按子句展开以便评审
- 用匹配方言处理 MySQL 反引号与 PostgreSQL
"标识符" - 分享前统一关键字大小写
如何使用
- 选择最接近的方言与 1–8 空格缩进。
- 粘贴 SQL,结果即时更新(大文本有 debounce)。
- 按编辑器上方的一行解析错误修正(多为括号不匹配)。
- 复制结果。Sample 加载
SELECT+JOIN示例。
Dialect notes
| 方言 | 常见标识符引号 | 说明 |
|---|---|---|
| Standard / PostgreSQL / SQLite | "双引号" | PostgreSQL 保留 :: 转换 |
| MySQL / MariaDB | `反引号` | 反引号标识符请选 MySQL/MariaDB |
| BigQuery | `project.dataset.table` | 数据集限定名 |
| PL/SQL / T-SQL | 厂商特有 | 过程块优先匹配方言 |
示例
| 输入 / 设置 | 输出 | 说明 |
|---|---|---|
select id, name from users where active = 1 order by created_at desc(Standard, 2) | 子句分行 + 关键字大写 | 经典美化 |
select * from users where id::int = 1(PostgreSQL) | 保留 id::int | 方言感知转换 |
select * from \proj.dataset.table` where true`(BigQuery) | 保留反引号限定表 | 通用格式化器易错点 |
SELECT * FROM users WHERE ( | 解析错误(EOF / 期望 )) | 结构错误,非 schema 校验 |
实践中的常见误区
- 不会执行或做数据库校验。 格式化后的 SQL 仍可能与 schema/权限不符。
- 方言选错 会影响引号与厂商函数。
- 单行压缩(minify) 不在范围内。
- 关键字拼写错误可能不会报错——不是完整 SQL linter。
参考资料
最后审阅: 2026-07-27
常见问题
- 格式化会改变查询执行结果吗?
- 主要改变空白、换行与关键字大小写。选错方言可能影响引号或厂商函数,在数据库中执行前请检查。
- 支持哪些 SQL 方言?
- Standard SQL、MySQL、PostgreSQL、MariaDB、SQLite、BigQuery、PL/SQL、T-SQL。请选择最接近的方言。
- 可以把 SQL 压成一行吗?
- 不可以。本页只做美化排版,单行压缩不在范围内。
- 查询会上传吗?
- 不会。格式化仅在浏览器中运行。