🗄️ SQL 在线格式化
免费 SQL 在线格式化 / 压缩:支持 MySQL、PostgreSQL 常见查询,粘贴即可美化缩进或压成单行,本地处理不上传。
输入 SQL支持 SELECT / INSERT / UPDATE / JOIN 等
输出
什么是 SQL 在线格式化?
SQL 格式化(SQL Beautify / Pretty Print)指在不改变语句语义的前提下,通过换行、缩进与关键字分行,把难以阅读的 SQL 整理成结构化文本。与之相对的「SQL 压缩」则移除空白与注释,得到更短的一行或多行代码。开发者在搜索引擎中常检索「SQL 格式化在线」「SQL 美化」「SQL 压缩」等关键词,用于日常联调、排障与文档编写。
谁需要用到?典型场景
- 后端 / 全栈开发:阅读 ORM 打印、MyBatis XML、存储过程或同事发来的查询片段。
- DBA / 运维:分析慢查询日志、审计平台导出的 SQL,快速定位缺失索引或多余 JOIN。
- 测试 / 产品:在工单、需求文档中粘贴可读的 SQL 示例。
- 教学与面试:演示标准写法,对比子查询与 JOIN 结构。
详细使用说明
- 从数据库客户端、日志文件或聊天工具复制 SQL,粘贴到「输入 SQL」区域。
- 点击格式化:适合阅读与评审;支持常见
SELECT、INSERT、UPDATE、DELETE、JOIN、WHERE、GROUP BY、ORDER BY等结构。 - 点击压缩:适合嵌入配置文件、减少传输体积;会去掉
--行注释与/* */块注释,操作前请自行备份。 - 点击示例 SQL可加载演示语句;用复制结果写入 IDE、Notion 或邮件。
格式化前 / 后示例
压缩前(一行):
select u.id,u.name,o.total from users u left join orders o on o.user_id=u.id where o.status='paid' order by o.total desc limit 20
格式化后(结构清晰):
SELECT u.id, u.name, o.total FROM users u LEFT JOIN orders o ON o.user_id = u.id WHERE o.status = 'paid' ORDER BY o.total DESC LIMIT 20
格式化 vs 压缩:怎么选?
| 需求 | 建议操作 | 说明 |
|---|---|---|
| Code Review、读慢查询 | 格式化 | 保留逻辑层次,便于发现条件错误 |
| 嵌入 JSON/YAML、减小体积 | 压缩 | 去掉注释与多余空格 |
| 含重要 SQL 注释 | 仅格式化 | 压缩会删除注释 |
| 检查拼接注入风险 | 格式化后 | 可再用 SQL 风险扫描 |
支持范围与局限
本工具面向常见 ANSI 风格语句,兼容多数 MySQL、PostgreSQL、SQL Server、SQLite 查询。对复杂存储过程、方言专有函数、嵌套极深的动态 SQL,自动排版可能不完美,执行前请在目标数据库验证。本页不提供 SQL 执行、语法检查或性能分析功能。
常见问题
格式化会修改我的字符串或数字吗?
不会改写引号内的字面量与数字,仅调整空白与换行。若你依赖注释说明业务规则,请勿使用压缩模式。
和 Navicat、DBeaver 自带格式化有什么区别?
客户端格式化与数据库绑定更深;本工具适合快速粘贴、无需安装、在浏览器本地处理一段 SQL 文本。
能把多条语句一起排版吗?
可以粘贴多段 SQL,工具会按行与关键字尽量分行;极长脚本建议分段处理。
数据会上传到 eEtools 服务器吗?
不会。处理在浏览器内存中完成,刷新页面即清空,详见 隐私政策。
