SQL 格式化
把从日志或 ORM 里拿到的、挤成一行的查询粘进来,它又会变回一份能读的查询——SELECT、FROM、WHERE 和每个 JOIN 各据一行。
代码不会离开此页面:格式化在你的浏览器中完成。
- 免费
- 文件不会离开你的设备
- 无需注册
- 不限文件数量
使用方法
- 把查询粘贴到第一个输入框。
- 决定关键字是否大写,以及每个字段是否单独一行。
- 复制结果。
实用说明
为什么要保护字面量
查询里可能有一个值写作 'order by name',也可能有一条提到 SELECT 的注释。用查找替换来干活的格式化器会在那里断行,或者把你数据中的某个词改成大写。这里在格式化之前先把字符串字面量和注释取出来,处理完再原样放回。
断行是为了什么
读一份查询就是要快速找到三件事:它碰了哪些表、这些表怎么连接、按什么条件过滤。把每个子句放在自己的行上,一眼就能回答这三个问题——这也是代码评审中约定俗成的排版,远早于有人真正执行这条查询。
常见问题
支持哪种方言?
PostgreSQL、MySQL、SQL Server 和 SQLite 共有的那些子句。方言特有的语法不会被重排,但也不会被破坏——不认识的词原样通过。
它会检查查询有没有错吗?
不会。它只排版,不解析。有问题的查询依旧有问题,只是更好读了。
查询会发送到服务器吗?
不会。一切都在你的浏览器里进行,这一点很要紧——查询里带着表名,往往还带着生产环境的数据。
为什么我的关键字没有变成大写?
打开「关键字大写」。这是偏好而不是规矩:很多团队全篇用小写写 SQL。
相关工具
- JSON 格式化与校验 粘贴 JSON,即可获得格式化、校验或压缩后的结果。数据始终留在浏览器里——当内容含有令牌或客户数据时,这一点尤为重要。
- CSV 转 JSON 粘贴表格,得到 JSON。解析遵循 RFC 4180,因此「张三, 李四」这样的单元格仍是一个字段,而不会被拆成两个——多数速成转换器正是在这里出错。
- HTML 格式化 粘贴 HTML 就能读了。每个标签单独一行,按嵌套层级缩进——找出那个忘记闭合的 div,没有更快的办法。
- Base64 编码解码 粘贴文本得到 Base64,粘贴 Base64 得回文本。中文、西里尔字母和表情都能完好通过——字符串按 UTF-8 读取,而不是按某一种语言的字节。
- 字数统计 输入或粘贴文本,统计结果立即更新:词数、字符数、句子数、段落数以及预计阅读时间。
- 大小写转换 粘贴文本、选择样式、复制结果。同样的词有九种写法:四种日常写法,五种程序员常争论的写法。
- JSON 美化 把一大段压缩的 JSON 粘进来,就能像读文档一样阅读。缩进随打随现,括号少了也会立刻指出来。
- JSON 压缩 粘贴 JSON,拿回不含一个多余字节的版本:没有缩进、没有换行、数据一模一样。格式化过的响应通常能缩小 20% 到 40%。