SQL格式化与美化
在线格式化和美化您的SQL查询(支持多种SQL方言)。
SQL格式化与美化是什么
用 sql-formatter 美化 SQL 查询,支持 18 种方言(MySQL、PostgreSQL、BigQuery、PL/SQL、Spark、Hive 等)。可分别设置关键字、数据类型、函数的大小写,选择缩进风格和表达式换行宽度,结果可复制或下载成 output.sql。
所有计算都在你的浏览器本地完成,输入的内容不会上传到服务器。
怎么用SQL格式化与美化
- 在「方言」下拉框选数据库类型,默认是标准 SQL,选错方言可能解析失败
- 设置关键字、数据类型、函数的大小写:upper / lower / preserve
- 在「缩进风格」里选 standard、tabularLeft 或 tabularRight,需要 Tab 缩进就勾选「使用制表符」
- 在「表达式宽度」里填换行的字符阈值,默认 50
- 把 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 后面漏掉表名也能照常格式化出来,别把它当语法检查器