
美化打印 SQL,就是将查询重新格式化,使其结构一目了然:关键字对齐、子句各占一行、嵌套条件缩进、列列表整齐排列。查询的执行结果完全相同——数据库忽略空白字符——但格式化后的查询对人类来说阅读、审查和调试都要容易得多。
实际上,SQL 到处都是以丑陋的形式出现的。它可能由 ORM 生成、从日志中复制出来、从聊天消息中粘贴过来,或者匆忙写成后从未整理。一个 300 个字符的单行 SELECT,带有三个 JOIN 和一个嵌套子查询,就是一堵文字墙。格式化能将其变成你可以真正理解的东西。
未格式化的查询通常是这样的:"select u.id, u.name, o.total from users u join orders o on o.user_id = u.id where o.status = 'paid' and o.total > 100 order by o.total desc"。它是正确的,但你必须逐词解析。
经过美化打印后,每个子句各占一行——SELECT 及其列、FROM、带 ON 条件的 JOIN、带过滤条件的 WHERE、最后的 ORDER BY。查询的结构变得显而易见,缺失的 JOIN 条件或位置错误的过滤条件会立即跳出来,而不是藏在某行的中间。
MySQL、PostgreSQL、SQL Server 和 Oracle 共享相同的核心语法,但在细节上有所不同——引号风格、特定函数和某些关键字。一个好的格式化工具理解这些方言,能够正确缩进和对齐,而不是破坏方言特定的语法。如果你跨多个数据库工作,请选择一个允许你选择方言的格式化工具。
查询通常包含你不想粘贴到随机服务器上的表名、列名和结构信息。完全在客户端运行的格式化工具将查询保留在你的机器上——不会上传任何内容,这在 SQL 涉及任何敏感内容时尤为重要。
打开免费 SQL 格式化工具——粘贴任意查询,即时进行美化打印、缩进和对齐。支持 MySQL、PostgreSQL、SQL Server 和 Oracle。无需注册,数据不离开你的浏览器。