支持 SELECT / INSERT / UPDATE / DELETE、JOIN、子查询、CASE WHEN;字符串与注释内容原样保留,不会被改写。
所有处理都在你的浏览器本地完成,SQL 内容不会上传到任何服务器。「结果回填」可把右侧输出放回输入框,方便在压缩结果上继续格式化。
处理结果将显示在这里。
本工具按通用 SQL 排版习惯处理,理解规则后能更快看懂输出。
| 规则 | 处理前(示例) | 处理后 |
|---|---|---|
| 关键字大写 | select … from t | SELECT … FROM t |
| 主要子句换行 | select a from t where a=1 | SELECT a FROM t WHERE a = 1 |
| JOIN 与条件 | left join o on u.id=o.uid | LEFT JOIN o ON u.id = o.uid |
| 函数括号紧贴 | count (*) | count(*) |
| 字符串原样保留 | name = 'it''s ok' | name = 'it''s ok'(内容与转义不动) |
| 压缩单行 | 多行带缩进的 SQL | 去掉缩进换行(保留分号间隔),注释移除 |
这是一个排版工具,不校验你的 SQL 能否在具体数据库执行。
| 问题 | 说明 |
|---|---|
| 不做语法校验 | 工具只重排空白与大小写,写错的表名、缺括号等不会被纠正;关键字之外的标识符(表名、字段名)保持原样,不改变大小写。 |
| 方言差异 | MySQL / PostgreSQL / SQL Server 的通用语句都能排版;各数据库特有的特殊符号(如 SQL Server 的方括号 [名])会被当普通字符保留,不影响字符串内容。 |
| 字符串内内容不动 | 引号内的逗号、关键字、注释符号都按普通文本原样保留,压缩时也不会删除字符串里的任何字符。 |
| 压缩会删注释 | 「压缩单行」会移除 -- 行注释 与 /* 块注释 */;「格式化」则保留注释并让其单独成行。 |
⚠️ 本工具仅在浏览器本地对 SQL 文本做排版处理,不会连接数据库,也不会上传、保存你粘贴的任何内容。
它只调整空白、缩进与关键字大小写,不保证语句本身语法正确、可执行,请在你的数据库客户端中自行验证。
请勿在不信任的环境中处理包含真实密码哈希、密钥、个人隐私数据的 SQL 导出文件。
从日志、ORM 调试输出或同事那里拿到的 SQL,往往是挤成一长串、大小写混乱、完全没有缩进的样子,肉眼几乎没法读。
这个工具让你把它一键整理成人能看懂的格式:
它能做什么:
① 格式化:SELECT / FROM / WHERE / GROUP BY / ORDER BY 等主要子句自动换行缩进,关键字统一大写;
② JOIN 排版:LEFT / INNER JOIN 与 ON 条件分层缩进,子查询按括号深度缩进;
③ 压缩单行:去掉所有缩进、换行与注释,输出紧凑单行 SQL,方便贴进日志或代码;
④ 细节保护:函数字段如 count(*) 括号紧贴,u.id 这类点号不加空格;
⑤ 字符串安全:引号内的内容(含逗号、转引号 '')逐字符原样保留,不会被排版或压缩破坏;
⑥ 统计信息:自动识别语句条数、字符串数量与注释数量。
需要注意:
· 它是排版器不是解释器,不连接数据库、不判断 SQL 能不能执行;
· 表名、字段名等标识符保持你输入的原样,只有 SQL 关键字会转大写;
· 全部在浏览器本地完成,刷新页面内容即消失。
处理流程:
① 词法切分:把输入扫描成词法单元——空白、字符串(单/双/反引号,识别 '' 转义)、注释(-- 行注释与 /* */ 块注释)、单词、操作符与标点;
② 格式化:按括号深度维护缩进,遇到 SELECT / FROM / WHERE 等子句关键字换行,JOIN 与 ON 分层,AND / OR 仅在顶层换行,括号内保持同行;
③ 压缩:丢弃注释与空白,按词法单元间的语法关系决定是否紧贴(如 (、.、, 紧贴),字符串整体原样输出;
④ 统计:扫描词法单元得到语句数(按分号)、字符串数,注释数用注释词法单元单独统计。
它不做:不连接任何数据库、不校验语义、不改写标识符大小写、不执行任何语句。
'' 转义、行/块注释,并统计语句数、字符串数与注释数。纯浏览器本地运行,适配黑夜模式。
SELECT / FROM / WHERE 这类 SQL 关键字会被转成大写,你自己起的表名、字段名、别名都按输入原样保留。所以 select id from UserTable 会变成 SELECT id FROM UserTable,UserTable 的大小写不变。'hello, world' 里的逗号不会触发换行,'it''s ok' 的转义引号也不会破坏切分,格式化和压缩都安全。-- 行注释 和 /* 块注释 */。如果想保留注释,请使用「✨ 格式化」,它会把注释保留并单独放在一行。字符串里长得像注释的文本不会被移除。审核通过后就会展示在留言板上,稍安勿躁~
还没有留言,来抢沙发吧!