ToolConvoyToolConvoyv2.6
DEV

SQL 格式化器 — 格式化和美化 SQL 查询

在浏览器中格式化和美化 SQL 查询,支持可定制的缩进、关键字大小写以及多种方言。无需上传。

● 本地运行 · 在您的标签页中生成页面加载以来工具发出的网络请求:0 次

SQL Formatter

Format and beautify SQL queries. Works entirely in your browser — no uploads.

SQL 是通用查询语言,未格式化的 SQL 也是通用代码评审槽点。一个多表 join 配上子查询、窗口函数加 CTE 可以轻松拉到三十行,没有统一的空白约定,关键字大小写又是 UPPER、lower、Mixed 混着用。格式化器解决的是其中机械的部分:它解析 SQL,识别出关键字、标识符、字面量和运算符,然后以统一的缩进、换行和大小写重写文本。格式化前后是同一条查询 —— 数据库执行结果完全一致 —— 但读起来更顺眼,做 diff 友好,也贴合风格指南。格式化器跑在浏览器中,意味着 SQL 从不离开本机 —— 当查询里包含会泄露业务逻辑的表名、列名或 join 条件时,这一点尤其重要。

广告

使用方法

  1. 粘贴你的 SQL

    把 SQL 查询、脚本或 DDL 语句粘进去。格式化器会解析 SQL,重新输出统一缩进、换行和关键字大小写的版本。

  2. 选择格式化选项

    挑好缩进宽度、关键字大小写(大写 / 小写 / 首字母大写)、逗号位置(前导 / 后置)以及方言提示(PostgreSQL、MySQL、SQLite、T-SQL、Standard SQL)。

  3. 复制格式化后的 SQL

    把格式化结果复制到剪贴板。格式化器保留注释、字符串字面量和查询结构 —— 只改动空白和关键字大小写。

常见问题

支持特定的 SQL 方言吗?

支持 PostgreSQL、MySQL、SQLite、Microsoft T-SQL 以及 Standard SQL 的方言提示。方言影响关键字识别和函数名大小写,但不做语法校验 —— 那是解析器的事,不是格式化器的事。

格式化会改变查询语义吗?

不会。格式化器只改动空白和关键字大小写。字符串字面量、标识符、数字和运算符都原样保留,注释也保持原样。格式化前后的查询在任何数据库上生成的执行计划完全一致。

子查询和 CTE 是怎么缩进的?

子查询比父级缩进一级。CTE(WITH 子句)格式化成一行 CTE 名加缩进的体部;嵌套 CTE 和深度子查询按嵌套深度逐级缩进。

能格式化 DDL 语句吗?

可以。CREATE TABLE、ALTER TABLE、CREATE INDEX 等 DDL 语句会按模式对象对齐格式化,列定义缩进在表名下方。

限制说明

  • 不做语法校验格式化器只重写空白和关键字大小写。它不检查 SQL 是否合法,也不检查引用的对象是否存在。非法 SQL 也会被格式化并不报错 —— 输出可能仍然无法执行。
  • 不做查询优化除空白和大小写外,输出与输入在语法上完全一致。格式化器不会为了性能重写查询。
  • 不格式化存储过程体CREATE PROCEDURE、CREATE FUNCTION 以及匿名块的体被当作字符串字面量处理,原样保留;外层 DDL 结构会被格式化。

平台说明

macOS
对从终端、日志文件或代码评审评论里粘出来的、需要一次性格式化的 SQL,浏览器工具是最顺手的选择。
Web
完全在客户端运行。你粘贴的 SQL 始终保留在本机。
广告
广告