SQL 格式化

按方言美化 SQL,支持 MySQL、PostgreSQL 等

浏览器内运算SQL Formatter工具型01格式化与校验

什么是SQL 格式化

SQL 格式化工具把单行或缩进混乱的 SQL 语句重排为带换行与对齐的可读形式,支持 MySQL、PostgreSQL、SQL Server、SQLite、BigQuery 等方言的关键字差异。全程在浏览器内完成,SQL 不会上传。

怎么用SQL 格式化

  1. 1粘贴 SQL 语句,可以是单条或多条(以分号分隔)。
  2. 2选择目标方言,不同方言对引号、函数与保留字的处理不同。
  3. 3选择关键字大小写风格(大写 / 小写 / 保持原样)与缩进宽度。
  4. 4复制格式化结果,或继续调整参数直到符合团队规范。

在代码里怎么实现?

一次性操作用上面的工具,重复性工作建议固化到脚本或项目里。

import { format } from 'sql-formatter';

const pretty = format(sql, {
  language: 'postgresql',
  keywordCase: 'upper',
  tabWidth: 2,
});

常见错误与排查

现象成因修复
格式化后方言特有语法被拆错选择的方言与 SQL 实际方言不一致,例如用 MySQL 解析 PostgreSQL 的 :: 类型转换。把方言切换为语句实际使用的数据库。
带模板变量的 SQL 报错ORM 模板里的 {{ }} 或 :param 占位符不是合法 SQL 词法单元。先把占位符替换成字面值再格式化,或保留原样忽略该段。

常见问题

SQL 格式化会执行我的语句吗?+

不会。工具只做词法与语法层面的重排,不连接任何数据库,也不解析数据内容。粘贴含真实表名的生产语句是安全的,因为内容不会离开浏览器。

支持哪些 SQL 方言?+

支持 MySQL、MariaDB、PostgreSQL、SQL Server(T-SQL)、SQLite、BigQuery、Snowflake、Spark SQL 等常见方言。方言影响保留字识别与引号规则,选对方言能得到更准确的换行位置。

为什么团队里同一条 SQL 格式化结果不一样?+

因为缩进宽度、关键字大小写与方言三项参数不同。建议在团队内固定一组参数,并把它写进代码规范,或者直接在 CI 里使用同一个格式化器。

相关工具

全部工具