SQL格式化

在线SQL语句格式化和美化工具

关于SQL格式化

SQL格式化工具把挤在一行里的 SQL 语句重新排版:按 SELECT、FROM、WHERE、JOIN、GROUP BY、ORDER BY 等关键字换行缩进,关键字统一大写,子查询和 UNION 分支逐层对齐,长语句一眼看清结构。反过来也能把多行 SQL 压成一行,方便粘进命令行、配置文件或日志做比对。格式化只调整空白与大小写,不改动任何语义,括号范围、条件顺序和字面量都保持原样,字符串里的关键字不会被误处理。所有解析都在浏览器本地完成,SQL 内容不上传服务器,涉及真实表名和业务字段的语句也能直接粘贴。

SQL格式化怎么用

  1. 把 SQL 粘贴进输入框,用下拉切换 MySQL、PostgreSQL、SQL Server 等方言。
  2. 选缩进方式(2 空格或 4 空格)和关键字是否大写,子查询单独缩进。
  3. 点格式化后检查 JOIN 条件、WHERE 多条件是否逐行对齐,括号层级是否正确。
  4. 确认反引号/双引号包裹的标识符和字符串里的关键字没被改动。
  5. 需要单行时切到压缩模式去掉多余空白,再复制回命令行或代码里。

使用提示

  • 格式化只改排版不改语义,索引是否命中、扫描行数多少仍要用 EXPLAIN 单独看。
  • MySQL 用反引号、PostgreSQL 用双引号、SQL Server 用方括号,方言选错会直接解析报错。
  • 注释在格式化后会随所属子句移动,行尾注释可能被换到语句上方,提交前核对一下。

SQL格式化常见问题

SQL 格式化会改变查询结果吗?
不会。格式化只调整空白、换行和关键字大小写,不增删任何 token,条件顺序、括号范围和索引提示都保持原样,执行结果与格式化前一致。它只影响语句的可读性,语义层面完全等价,可以放心拿来做代码排版和评审前的统一整理。
为什么格式化后提示语法错误?
多半是方言选错。MySQL 允许反引号做标识符引用,标准 SQL 与 PostgreSQL 用双引号,SQL Server 用方括号,选错解析器时这些符号会被当成非法字符。另一类原因是原语句本身在字符串拼接处就少了引号或括号,先补全再格式化。
SQL 里带注释,格式化后注释位置变了正常吗?
正常。格式化器按语法树重排节点,行尾注释会跟随所属子句走,块注释可能被移到语句上方或单独成行。注释内容不会丢,但发送给数据库前最好确认它没有被夹在引号中间,否则会被当成字符串的一部分执行。
SQL 内容会被上传吗?
不会。解析和排版都在浏览器本地完成,页面不把你的 SQL 发往服务器,也不留存日志。涉及真实表名、订单号或用户字段的语句可以直接粘贴,断网后本地打开页面同样能正常格式化。