ToolCozy
AI 订阅价比价HOTAI 模型能力排行NEW
JSON 格式化 / DiffHOTBase64 编解码HOTURL 编解码NEW时间戳转换NEWUUID 生成Hash 计算JWT 解析QR Code 生成单位换算进制转换数据格式转换SQL 格式化IP 查询
图片压缩HOT颜色转换图片格式转换图片裁剪NEWApp Store 截图生成NEW
正则测试NEW字数统计Diff 对比Markdown 预览

更多产品

Kaola 截图

App Store 预览截图生成器,支持设备外框和模板

好好吃药

简单好用的吃药提醒助手,再也不会忘记服药

那一天

重回历史上的某一天——那天的新闻、歌曲、电影

© 2026 ToolCozy·隐私协议·意见反馈

SQL 格式化

SQL 语句美化与格式化,支持多种方言

关于此工具

SQL 对空白字符宽容,所以经常产生一行 200 列的不可读怪物。一个好的格式化工具会对齐关键字(SELECT、FROM、WHERE),一致地缩进子查询和 JOIN,把巨长的单行变成人能读的多行。

本工具支持多种 SQL 方言(Standard、MySQL、PostgreSQL、SQL Server、SQLite、BigQuery 等),LIMIT vs TOP 这类方言关键字会留在正确的一边。缩进可选 2 空格 / 4 空格 / Tab,全部在浏览器内运行。

使用步骤

格式化 SQL

  1. 把 SQL 粘到输入框。
  2. 选择匹配你数据库的方言。默认 Standard 适用于多数 ANSI 兼容查询。
  3. 选择缩进样式:2 空格、4 空格或 Tab。
  4. 点 Format,复制结果回编辑器或迁移文件。

示例

格式化 JOIN

输入
select u.id,u.name,p.title from users u left join posts p on p.user_id=u.id where u.active=1 order by u.id desc limit 10;
输出
SELECT
  u.id,
  u.name,
  p.title
FROM
  users u
  LEFT JOIN posts p ON p.user_id = u.id
WHERE
  u.active = 1
ORDER BY
  u.id DESC
LIMIT
  10;
常见问题
支持哪些方言?

Standard SQL、MySQL、PostgreSQL、SQL Server(T-SQL)、SQLite、BigQuery 等。方言主要影响关键字识别和少量语法差异(例如 MySQL 用反引号、PostgreSQL 用双引号包标识符)。

会破坏 SQL 或改变语义吗?

只调整空白字符和关键字大小写(可配置),不会重排子句或改写表达式,所以格式化前后执行结果完全一致。正式上线前一律建议先测一下。

支持分号分隔的多条语句吗?

支持——每条语句独立格式化,分号保留。

注释怎么处理?

-- 单行注释和 /* 多行注释 */ 都保留在原位置。行尾内联注释保持内联,独立注释保持单独成行。

会校验 SQL 合法性吗?

不会。格式化器只做到「能解析出结构」,不会检查表名是否存在、列类型是否匹配等逻辑正确性——这个交给数据库的 EXPLAIN。