SQL格式化与美化

在线格式化和美化您的SQL查询(支持多种SQL方言)。

SQL格式化与美化是什么

用 sql-formatter 美化 SQL 查询,支持 18 种方言(MySQL、PostgreSQL、BigQuery、PL/SQL、Spark、Hive 等)。可分别设置关键字、数据类型、函数的大小写,选择缩进风格和表达式换行宽度,结果可复制或下载成 output.sql。

所有计算都在你的浏览器本地完成,输入的内容不会上传到服务器。

怎么用SQL格式化与美化

  1. 在「方言」下拉框选数据库类型,默认是标准 SQL,选错方言可能解析失败
  2. 设置关键字、数据类型、函数的大小写:upper / lower / preserve
  3. 在「缩进风格」里选 standard、tabularLeft 或 tabularRight,需要 Tab 缩进就勾选「使用制表符」
  4. 在「表达式宽度」里填换行的字符阈值,默认 50
  5. 把 SQL 粘进下方 20 行的输入框,格式化结果实时出现在右侧输出框,可复制或下载

示例

输入

select field1,field2,field3 from my_table where my_condition;

输出

SELECT
  field1,
  field2,
  field3
FROM
  my_table
WHERE
  my_condition;

标准缩进风格、关键字大写、2 空格缩进

常见问题

为什么会显示解析错误?

最常见的原因是方言不匹配或引号未闭合。比如带反引号的 MySQL 语句选成了标准 SQL,或者字符串里的单引号没有成对。换方言或补齐引号再试。

格式化会改变 SQL 的执行结果吗?

不会。它只调整空白、换行和关键字大小写,不改变语句结构和字面量;唯一要注意的是关键字大小写设为 upper/lower 时,数据库若区分标识符大小写可能受影响(标识符本身不会被改写)。

支持哪些方言?

共 18 种:标准 SQL、BigQuery、Db2、Db2i、Hive、MariaDB、MySQL、TiDB、N1QL、PL/SQL、PostgreSQL、Redshift、SingleStoreDB、Snowflake、Spark、SQLite、Transact-SQL、Trino。

我的 SQL 会上传到服务器吗?

不会。sql-formatter 在浏览器里运行,查询文本不离开本机,页面也不做记录。

小提示

  • 方言选错最容易翻车:MySQL 的反引号标识符、BigQuery 的 project.dataset.table、PL/SQL 的 || 拼接都依赖方言识别,用通用 sql 方言解析它们会报解析错误
  • 表达式宽度调到 0 会尽量把语句压到一行;调到 80 以上则更少换行,适合宽屏对比
  • 它只格式化不校验语法:SELECT * FROM 后面漏掉表名也能照常格式化出来,别把它当语法检查器

同类开发工具