SQL在线格式化与美化

粘贴一段杂乱的SQL,输入的同时就能得到整齐易读的结果。每个子句单独一行,列和条件对齐,子查询和CASE表达式自动缩进,CREATE TABLE每个字段一行。选择方言(MySQL、PostgreSQL、SQL Server、Oracle、SQLite或BigQuery),反引号、[方括号]、$$字符串和::类型转换都能正确处理;关键字大小写、缩进宽度、逗号放在行首还是行尾也都可以设置。工具还会提示未闭合的引号、括号不匹配以及没有WHERE的DELETE或UPDATE,可以把SQL压缩成一行,或复制为Python、JavaScript、Java、C#、PHP字符串。SQL不会离开你的浏览器。

免费 · 无需注册

结果
结果类型

      

粘贴SQL即可格式化。

使用方法

  1. 粘贴SQL,或打开.sql文件。
  2. 选择数据库方言、关键字大小写和缩进方式。
  3. 查看格式化结果,修正下方提示的问题。
  4. 复制、下载为.sql,或复制为代码字符串。

为什么使用这个工具

清晰易读

子句分行,列和条件对齐,子查询、WITH和CASE自动缩进。

七种方言

MySQL反引号和#注释,PostgreSQL的$$和::,T-SQL的[ ]和GO,Oracle、SQLite、BigQuery。

按团队规范

关键字大写或小写,2或4个空格或制表符,逗号前置或后置。

错误检查

发现未闭合的字符串和注释、括号不匹配,以及没有WHERE的DELETE或UPDATE。

压缩

把SQL压缩成一行,可选择保留注释和优化器提示。

复制为代码

一键生成Python、JavaScript、Java、C#、PHP字符串,直接粘贴到代码中。

为什么要格式化SQL

从日志、MyBatis等ORM或BI工具里拿到的SQL,常常是长长的一行。格式化之后每个子句单独一行,查询了什么、关联了哪些表、怎样过滤一目了然。代码评审更轻松,Git差异更小,也更容易发现漏写关联条件这类问题。

如何选择方言

  • MySQL / MariaDB:反引号标识符、#注释、字符串中的反斜杠转义,国内项目最常用。
  • PostgreSQL:$$函数体、::类型转换和$1参数;人大金仓等兼容PostgreSQL的数据库也可选它。
  • SQL Server:[方括号]标识符、@变量、TOP和GO分批。
  • Oracle:压缩时保留 /*+ 提示 */;达梦等兼容Oracle的数据库可选它。
  • BigQuery和SQLite:反引号标识符,其余按标准SQL处理。

常见的SQL编写规范

多数团队约定关键字大写、表名和字段名小写,用2或4个空格缩进,SELECT中每个字段一行。逗号前置方便注释掉某一列,差异也更清晰;逗号后置读起来更自然。不管选择哪种,关键是全团队统一,最好在CI中用SQLFluff等工具自动检查。

执行SQL前的检查

  • 没有WHERE的UPDATE或DELETE会修改整张表,先用同样的WHERE执行一次SELECT确认行数。
  • 高风险操作放在事务里,必要时可以ROLLBACK。
  • 业务代码中避免使用SELECT *。
  • 不要把用户输入直接拼接进SQL,应使用参数(?、$1、@id)防止SQL注入。

常见问题

SQL格式化工具免费吗?

免费。无需注册,除浏览器本身外没有大小限制。

SQL会上传到服务器吗?

不会。格式化在浏览器中完成,表名和查询中的数据都不会外泄。

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

不会。只改变空格、换行和关键字大小写,字符串、名称和注释都保持不变。

支持哪些数据库?

标准SQL,以及MySQL/MariaDB、PostgreSQL、SQL Server、Oracle、SQLite和BigQuery。

能格式化存储过程吗?

可以,按语句逐条格式化。特别复杂的PL/SQL或T-SQL控制结构可能需要手动微调。

能检查SQL语法吗?

能发现未闭合引号、括号不匹配等常见语法问题,但不会核对表名和字段名是否真实存在。

相关工具

想开发什么吗?

告诉我们你想构建什么。

告诉我们您需要构建什么:从简单的网站到完整应用、AI 解决方案、自动化或定制系统都可以。

告诉我们您想构建什么。我们会查看每一份咨询并通过邮件回复。

联系

感谢您,咨询已发送。

我们会查看详细信息并通过邮件回复。