功能简介
SQL 格式化工具把很长的一行查询变成缩进统一、易读的格式。每个子句(SELECT、FROM、WHERE、GROUP BY、ORDER BY)各占一行,选择的列和条件每行一个,JOIN 对齐在被连接的表下面,子查询在括号里缩进。
格式化后的 SQL 在代码评审时更好看,查询结果不对时更容易排查,也方便贴进文档。从 ORM 日志或程序报错里复制出来的一整行查询,格式化后一目了然。
使用方法
- 把一条或多条 SQL 语句粘贴到「输入」框,或把
.sql文件拖进去,也可以点「示例」。 - 选择数据库对应的「方言」。
- 「关键字」可以选大写、小写或保持原样,
COUNT这样的函数名也会跟着变。 - 「缩进」可以选 2 个空格、4 个空格或 Tab。
- 复制结果,或下载为
.sql文件。快捷键:Ctrl/Cmd+Enter 格式化,Ctrl/Cmd+Shift+C 复制。
用分号分隔的多条语句之间会空一行,注释保留在原来的位置。
示例
select u.id, count(o.id) as orders from users u left join orders o on o.user_id = u.id group by u.id
会变成
SELECT
u.id,
COUNT(o.id) AS orders
FROM
users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY
u.id
小贴士
关键字大写能让子句和表名、列名区分开,这是最常见的团队规范。如果团队习惯写小写 SQL,选「小写」即可让整条查询风格一致。如果提示出现了意外的符号,先检查方言是否选对,比如反引号包起来的名称在 MySQL 里合法,在标准 SQL 里却不行。
常见问题
› 我的 SQL 会被发送到服务器吗?
不会。格式化在你的浏览器里完成,暴露表名、客户数据或业务逻辑的查询语句都不会离开你的设备。
› 支持哪些 SQL 方言?
标准 SQL、MySQL、MariaDB、PostgreSQL、SQLite、SQL Server(T-SQL)、Oracle(PL/SQL)、BigQuery、Snowflake、Redshift 和 Spark SQL。选对方言能正确处理各自特有的语法,比如反引号标识符、:: 类型转换或方括号名称。
› 格式化会改变查询的含义吗?
不会。只会调整空白,以及按你的选择改变关键字和函数名的大小写。标识符、字符串和注释都保持原样。
› 为什么提示「Unexpected end of input」?
通常是某个括号或引号没有闭合。错误会指向查询的末尾,找一下最后一个没有配对的 ( 或 '。