去掉 SQL 注释与多余空白、压成紧凑单行,字符串字面量原样保留,全程在浏览器本地运行。
- 本地处理
- 分类 开发运维
- 适合 格式化、校验、压缩或检查和代码相关的文本。
压缩后的 SQL 显示在这里。这个工具能做什么
一个不改变语义的 SQL 压缩工具。它去掉 `--` 行注释和 `/* … */` 块注释, 把所有空格、制表符、换行折叠成一个空格,并可选地把整段脚本压成单行, 方便直接塞进代码里的字符串常量、日志行或 JSON 字段。压缩 SQL 最难的 不是删空白,而是知道哪些地方不能碰:单引号字符串、双引号或反引号标识符、 T-SQL 的 `[方括号]` 名字、PostgreSQL 的 `$tag$ … $tag$` 美元引用块, 里面的内容都是数据,所以其中的 `--` 或连续空格会被原样保留,连成对的 `''` 转义引号也照样不动。压缩后的查询和你粘进来的那条执行结果完全一致, 变的只有字节数。它是 SQL 格式化器的逆操作:格式化为了看,压缩为了传。 全部在浏览器本地完成,含表名或个人信息的查询不会离开页面,实时的字节/ 字符读数会告诉你到底省了多少。
工具细节
- 输入
- 文本 + 结构化内容
- 页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
- 输出
- 即时结果 + 复制
- 结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
- 隐私
- 浏览器本地处理
- 主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
- 保存 / 分享
- 可分享链接状态
- 关键设置会进入 URL,复制链接后别人能复现同一组参数。
- 性能预算
- 首屏 JS ≤ 7 KB
- 没有声明 WASM 依赖,适合快速打开和移动端使用。
- 适用场景
- 开发运维 · 程序员
- 分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。
怎么用
-
1. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
SQL 压缩器 适合怎么用
适合穿插在写代码、查问题、做 Review、上线前的小任务里。
适合开发场景
- 格式化、校验、压缩或检查和代码相关的文本。
- 把片段整理好再放进文档、工单、提交或交接材料。
- 不切换工具,快速检查一个小 payload。
开发检查项
- 压缩、混淆这类不可逆处理,先对副本操作。
- 除非确认工具本地处理,不要粘贴密钥和敏感片段。
- 转换后的代码上线前,仍要跑自己的测试或 lint。
下一步可以接着做
这些入口会把当前任务接到更完整的工具链里。
真实使用场景
把查询作为字符串常量嵌进应用代码
你有一条 30 行的格式化查询,想以字符串形式内联进 Go、Python 或 Node 文件。直接粘进去,多行缩进会和你代码本身的缩进打架,注释也 会变成版本控制里的噪音。开启"压成单行"压缩、复制结果,你得到的 就是一行干净的文本,塞进 `const QUERY = "…"` 不用别扭的续行符。 查询执行结果完全不变,你只是把运行时根本用不到的可读性换成了 干净的 diff。
把查询写进日志或链路追踪前先压一下
可观测性工具按摄入字节计费,而且会截断超长行。带完整美化缩进的 查询会把三分之一的字节浪费在空白上,还会在追踪查看器里被从语句 中间截断。先压缩:注释没了,空白折叠,整条语句压成一行,日志 查看器能完整显示。你照样记下了真正执行的那条 SQL,只是去掉了 纯装饰的填充。
通过有大小限制的通道传输 SQL
当查询要走 URL 查询参数、webhook 负载或消息队列消息体时,每个字节 都重要,有些通道还会限制长度。先压缩能把注释和缩进通常多占的 20%–40% 拿回来;而且因为字符串字面量受保护,`WHERE note = 'a -- b'` 这样的条件能原样到达对端。
按语义而非格式来比对两条查询
两个工程师写了"同一条"查询,但一个用 Tab 一个用空格,一个关键字 大写一个不大写,还有一个留了 `-- TODO` 注释。逐行 diff 满屏标红, 可 SQL 其实一模一样。把两条都压缩,再 diff 压缩后的输出:字节一致 就说明是同一条语句;不一致,这时 diff 指向的才是真正的语义差异, 而不是空白噪音。
给迁移文件保留注释、只去缩进
一份迁移带着许可证头和一条必须保留的 `/*+ INDEX(...) */` 计划器 hint,但手工排版的缩进纯属累赘。取消勾选"去掉注释",并关掉 "压成单行",你就得到每行一条紧凑语句、有意义的注释照样在,比 格式化源更小,在迁移历史里依然能看懂。
常见踩坑
以为压缩后的 SQL 执行起来"更快"。数据库把两种写法解析成同样的执行计划;压缩改变的是传输/存储体积和解析字符串长度,不是查询性能。用它省字节,别指望它给引擎提速。
把要留在版本控制里的查询也压缩了。一旦变成没注释的单行,下一个人改它就得手工重新格式化,还丢了你的 `-- 为什么` 注释。仓库里留可读版本,只压缩要嵌入/传输的那份拷贝。
粘了注释语法不同的方言。本工具处理标准的 `--` 和 `/* */`;MySQL 的 `#` 行注释不会被当成注释,所以 `# 备注` 那一行会原样保留。如果你依赖 `#` 注释,先把它们改成 `--`,或者干脆关掉"去掉注释"。
隐私说明
压缩器是浏览器标签页里运行的纯 JavaScript,对你的 SQL 做分词和重写。 任何查询、表名或字面量都不会发到服务器,也不会记录你压缩过什么。 一个提醒:"分享"链接会把你的输入编码进 query string(`?sql=…`), 所以你把含生产查询的分享链接粘到 Slack 或邮件时,那段文本会落进对方 服务器的访问日志。偶尔用无所谓;但如果 SQL 里嵌了密钥或个人信息, 请手动复制压缩后的结果,而不要分享 URL。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。