SQL格式化 在线美化SQL查询语句工具
美化MySQL、PostgreSQL和SQL Server查询语句,支持关键字高亮和缩进控制,让SQL更易读,覆盖13种方言。
更新于 2026-08-16
相关工具
功能特性
- 输入即自动格式化,粘贴即出结果,智能添加缩进和换行
- 支持 13+ 种 SQL 方言:MySQL、PostgreSQL、SQL Server、Oracle、SQLite、BigQuery、Snowflake、Spark SQL 等
- 关键字大小写转换:一键将 SELECT/FROM/WHERE 等关键字转为大写、小写或保持原样,匹配团队代码规范
- 语法高亮:关键字蓝色、字符串绿色、数字琥珀色、运算符红色、标识符紫色、注释灰色,一目了然
- 自定义缩进:2 空格、4 空格或 TAB,适配不同项目的编码风格
- 一键压缩 SQL 查询,移除多余空白,用于生产环境或减小传输体积
- 实时 SQL 校验,检测语法错误并显示错误行号位置
- 统计面板显示压缩率、关键字数量、表引用数等优化分析数据
- 拖拽上传或点击选择 .sql 文件,支持任意 SQL 文件格式
- 一键复制到剪贴板或下载为 .sql 文件,方便分享和使用
- 首次加载后支持离线使用
- 智能方言检测,根据选择的数据库类型自动调整格式化规则(如 PostgreSQL 用双引号,MySQL 用反引号)
使用方法
- 1将 SQL 查询粘贴到左侧编辑区,自动完成格式化。也可以直接拖拽 .sql 文件到页面上。
- 2从下拉菜单选择你的 SQL 方言(标准 SQL、MySQL、PostgreSQL、Oracle 等),启用特定数据库的格式化规则。
- 3选择关键字大小写样式:UPPER 将所有关键字转为大写;lower 转为小写;Preserve 保持原始大小写。
- 4点击缩进按钮(2 / 4 / ⇥)切换缩进风格。大多数团队使用 2 空格缩进。
- 5在「格式化」(带语法高亮的美化输出)、「压缩」(单行紧凑输出)、「统计」(查询分析)三个标签间切换。
- 6校验失败时,下方会显示错误详情和行号,在左侧面板修复语法问题。
- 7点击右侧工具栏的复制或下载按钮保存格式化后的 SQL。
- 8查看统计标签页了解查询压缩率、关键字数量和表引用数等优化分析数据。
- 9使用上传按钮从设备加载 .sql 文件,或直接拖拽到输入面板。
常见问题
什么是 SQL 格式化?
SQL 格式化(也叫美化或 pretty-print)会给混乱的 SQL 查询添加正确的缩进、换行和一致的间距,使其变得可读易调试。大多数 ORM 和查询生成器产生的都是压缩后的 SQL,这个工具的作用就是还原成人类可读的格式,方便理解、优化和维护代码。
支持哪些数据库?
我们支持 13+ 种主流 SQL 方言,包括标准 SQL、MySQL、MariaDB、PostgreSQL、Microsoft SQL Server (T-SQL)、Oracle PL/SQL、SQLite、Google BigQuery、IBM DB2、Apache Hive、Amazon Redshift、Snowflake 和 Apache Spark SQL。每种方言都有特定的格式化规则,例如 PostgreSQL 使用双引号标识符,而 MySQL 使用反引号。从下拉菜单选择你的数据库即可获得准确的格式化效果。
如何在 VS Code 或 SSMS 里格式化 SQL,而不是用在线工具?
VS Code 里安装格式化扩展(搜索「SQL Formatter」,大多数底层用的就是本站同款的 sql-formatter 库),打开文件后右键选择「格式化文档」,并把 .sql 文件的默认格式化程序设为它。SQL Server Management Studio 没有内置格式化功能,要么装 Redgate SQL Prompt 这类商业插件,要么把查询粘贴到这里。Notepad++ 同样没有原生格式化器。临时格式化一条查询用本工具最快;每天在编辑器里写 SQL 的话,VS Code 扩展值得装一个。
如何用命令行格式化 SQL?
最快的方案就是用本站同款库:npx sql-formatter -l mysql < file.sql 会把格式化结果输出到标准输出(加 -u 转大写关键字,或用 --config 传选项)。Python 用户可用 sqlparse:sqlformat --keywords upper file.sql。两者都免费、可脚本化,适合批量格式化导出文件或接入 pre-commit 检查,这些是网页工具做不到的。
关键字大小写转换有什么作用?
关键字大小写转换可以改变 SQL 关键字在输出中的显示方式。UPPER(最常用)将 SELECT、FROM、WHERE、JOIN 等转为大写以获得最好可读性。lower 全部转为小写如果你的团队偏好这种风格。Preserve 则完全保持你输入时的原始大小写。这有助于在团队的 SQL 代码库中强制执行统一的编码规范。
格式化和压缩有什么区别?
格式化(美化)给 SQL 添加适当的缩进、子句后换行(SELECT、FROM、WHERE、JOIN)、运算符周围一致间距,适合开发、调试、文档编写或代码审查时使用。压缩则移除所有不必要的空白字符产生紧凑的单行查询,适合将 SQL 嵌入应用日志、减小存储空间或在 API 载荷中节省每个字节的场景。
这个工具会校验 SQL 语法吗?
是的。格式化器包含基本的语法校验功能,能检测常见错误如括号不匹配、缺少分号、无效关键字、未闭合的字符串字面量等。当检测到错误时会显示错误消息和大约的行位置。注意:这只校验格式化语法,不会检查表/列是否存在,也不会在真实数据库上执行查询。
如何复制格式化后的 SQL?
点击右侧工具栏的复制按钮,将完整的格式化结果复制到剪贴板。也可以点击下载按钮保存为 .sql 文件。两种操作都是即时的,无需等待、无需弹窗、无需注册。
能格式化存储过程或多条语句吗?
能。格式化器能处理多语句 SQL 文件,包括 CREATE TABLE、INSERT INTO、UPDATE、DELETE、存储过程(CREATE PROCEDURE)、函数(CREATE FUNCTION)、触发器和包含 BEGIN/END 块的复杂脚本。只需粘贴整个 .sql 文件,它会按照所选方言的规范正确格式化每条语句。
有文件大小限制吗?
实际限制取决于你设备的可用内存。大多数 1-5 MB 以内的 SQL 文件在现代浏览器中都能流畅运行(相当于数千行查询)。超大的导出文件(50 MB 以上)可能会因为浏览器的渲染限制而变慢。这种情况建议使用命令行工具如 sqlformat(Python)或数据库客户端自带的格式化功能。
手机上能用吗?
能。布局会自动适配小屏幕,输入区和输出区在手机和平板上会上下堆叠排列。包括方言选择、关键字大小写切换、缩进控制、语法高亮、复制、下载和拖拽上传在内的所有功能都支持触屏操作。非常适合在移动中快速检查和格式化 SQL 查询。
为什么格式化后 SQL 还是报错?
格式化只重排空白和换行,它从不改变查询语义,也不校验语法(见上文的校验问答)。如果查询报错,错误在 SQL 本身:缺少逗号、列名拼写错误、或你的数据库方言不支持的特性。在数据库客户端中运行查询查看真实错误信息,修正 SQL 后重新格式化。
为什么 SQL 格式化在线工具和 VS Code 的 SQL 格式化插件结果不一样?
因为它们是不同的程序、不同的选项:缩进宽度、关键字大小写、行宽和长表达式的换行方式都可配置,默认值也不同。本工具使用流行的 sql-formatter 库和合理的默认值;VS Code 插件(如 sql-formatter 插件或 Redgate)用自己的引擎和设置。两边的输出都是合法 SQL,同一个项目固定用其中一种,或把两边配置调成一致,差异纯属外观问题。
格式化会影响 SQL 查询的性能吗?
不会,格式化只是添加空白、缩进和换行,数据库收到的查询文本完全一样,执行计划和性能不受影响。如果格式化后的查询变慢了,原因在 SQL 本身:缺少索引、SELECT *、或对索引列使用函数。压缩功能倒是有真实影响:紧凑的查询传输和存储更快,对 API 载荷和日志文件有意义。