SQL 格式化工具

使用可配置的缩进、关键字大小写以及对 MySQL、PostgreSQL 和 T-SQL 的方言支持,美化和格式化原始 SQL 查询语句。

格式化选项

SQL 输入

格式化后的 SQL

Formatted SQL will appear here…

Share this tool

Help others discover SQL Formatter

关于 SQL 格式化工具

工作原理

  • 将 SQL 分词为关键字、标识符、运算符和字面量
  • 将子句关键字(SELECT、FROM、WHERE、JOIN 等)重新缩进到新行
  • 完全按原样保留带引号的字符串、注释和标识符
  • 应用您选择的关键字大小写(大写、小写或保留)
  • 支持标准 SQL、MySQL、PostgreSQL 和 T-SQL 方言

常见使用场景

  • 使 ORM 自动生成的查询可读以便调试
  • 在代码审查中审查查询计划和执行逻辑
  • 准备 SQL 用于文档或与团队成员共享
  • 规范化日志文件中大小写混合或压缩的 SQL
  • 清理机器生成的迁移脚本

常见问题

格式化工具支持哪些 SQL 方言?

格式化工具支持标准 SQL、MySQL、PostgreSQL 和 T-SQL(SQL Server)。选择方言后,工具会调整标识符引用提示和特定方言的关键字处理方式。

格式化会改变查询的含义吗?

不会。格式化工具只更改空白字符和关键字大小写,绝不会重写、重排或删除查询的任何部分。格式化后的输出与原始输入在语义上完全相同。

什么是逗号前置样式?

逗号前置样式将逗号放在列表中每个新项目的开头,而不是上一项的末尾。一些团队偏好此风格,因为它使在版本控制差异中发现缺少的逗号更容易。

为什么应该对 SQL 关键字使用大写?

对保留字(SELECT、FROM、WHERE 等)使用大写,对标识符(表名和列名)使用小写,是最广泛采用的 SQL 样式约定。这提高了可读性,并立即区分了语言关键字和用户定义的名称。

我可以一次格式化多个 SQL 语句吗?

可以。粘贴多个用分号分隔的语句,格式化工具将逐一处理。每个分号在输出中保留在其语句末尾。

单引号字符串和注释是否完全保留?

是的。分词器将单引号字符串、双引号标识符、反引号标识符、方括号标识符以及 -- 单行和 /* 块 */ 注释视为不透明令牌,其内容从不被修改。

该工具会将我的 SQL 发送到服务器吗?

不会。所有格式化均在您的浏览器中使用 JavaScript 完成。您的 SQL 查询永远不会传输到任何服务器,因此敏感的架构名称、列名和数据字面量保持完全私密。

有哪些缩进选项?

您可以选择 2 个空格、4 个空格或制表符作为缩进。2 个空格在 JavaScript 相关项目中很常见,而 4 个空格是许多 SQL 样式指南的标准。

为什么我的子查询输出与顶级查询不同?

括号内的子查询相对于其周围上下文缩进一个额外级别。这种嵌套直观地传达了逻辑层次结构,使在复杂查询中跟踪数据流更容易。

我可以格式化存储过程或 DDL 语句吗?

可以。格式化工具处理 CREATE TABLE、ALTER TABLE、INSERT INTO、UPDATE、DELETE 以及其他 DDL/DML 语句。CASE 表达式、BEGIN/END 块和窗口函数也能正确缩进。

为什么 JOIN 条件在新的一行?

将每个 JOIN 及其 ON/USING 条件放在单独的行上,可以清楚地表明哪些条件属于哪个连接,尤其是当查询有四个或更多连接时。这与最流行的 SQL 样式指南一致。

如何处理非常长的查询?

无论查询长度如何都可以完整粘贴——格式化工具完全在浏览器中运行,没有服务器往返,因此即使是包含数百行的大型查询也能即时格式化。

Share ToolsZone

Help others discover these free tools!

分享此页面

SQL 格式化工具 | 免费在线美化 SQL 查询语句