SQL 格式化教程:关键字大写、按子句换行缩进,或压缩成一行
一句话答案
打开 SQL 格式化/压缩,把 SQL 粘贴到输入框,结果会自动美化成关键字大写、每个子句一行的格式;需要放进代码字符串时点“压缩成一行”,再点“复制”。
慢查询日志、ORM 打印出来的 SQL 通常是一整行,几十个字段和条件挤在一起,很难看出逻辑。SQL 格式化/压缩 把 SQL 按子句拆行、关键字大写、条件缩进,也可以反过来压缩成一行,适用于 MySQL、PostgreSQL、SQLite 等常见语法,在本地运行。
操作步骤
- 粘贴 SQL:打开 SQL 格式化/压缩,把 SQL 粘贴到输入框。
- 查看美化结果:下方自动输出格式化后的 SQL:SELECT、FROM、JOIN、WHERE、ORDER BY 各占一行,AND 条件缩进。
- 压缩(可选):点“压缩成一行”去掉换行和多余空格;MySQL 中用 # 写注释时勾选“压缩时把 # 当作注释”。
- 复制:点“复制”。

🗄️ SQL 格式化/压缩
免费在线使用,文件和数据只在你的浏览器本地处理,无需注册。
格式化前后对比
格式化前:
select o.id, o.amount, u.name from orders o left join users u on u.id = o.user_id where o.status = 'paid' and o.created_at >= '2026-10-01' order by o.amount desc limit 10;
格式化后:
SELECT o.id,
o.amount,
u.name
FROM orders o
LEFT JOIN users u ON u.id = o.user_id
WHERE o.status = 'paid'
AND o.created_at >= '2026-10-01'
ORDER BY o.amount DESC
LIMIT 10;
常用 SQL 书写规范
- 关键字大写(SELECT、FROM),表名和字段名小写;
- 每个子句单独一行,多个条件每个 AND / OR 一行;
- 多表查询时给表起简短别名(orders o),字段都带上别名前缀;
- 避免 SELECT *,只查需要的字段。
前端代码的格式化见 HTML、CSS、JS 格式化;接口返回的 JSON 见 JSON 格式化。
常见问题
SQL 格式化会改变语句的执行结果吗?
不会。格式化只调整空格、换行和关键字大小写,字符串内容保持不变,语义不变。
支持哪些数据库?
这是通用的基础格式化,适用于 MySQL、PostgreSQL、SQLite 等常见语法;特殊方言语法可能排版不够理想。
怎么把多行 SQL 压缩成一行?
点“压缩成一行”即可,注释会被去掉;MySQL 的 # 注释需要勾选对应选项。
SQL 会上传吗?
不会。格式化在浏览器本地完成,适合处理含内部表结构的语句。