SQL 格式化工具
在左侧输入 SQL 开始格式化
GeekFormat SQL 格式化工具,快速美化和整理杂乱的SQL查询语句。支持MySQL、PostgreSQL、SQLite、SQL Server、Oracle等20种数据库方言,可自定义关键字大小写、缩进风格、运算符换行位置、表达式宽度等格式化选项,提供4种一键预设风格。内置SQL压缩和语法验证功能,支持文件上传下载、URL分享、快捷键操作,基于CodeMirror 6编辑器提供语法高亮和可调整面板布局。输入后实时自动格式化,纯浏览器本地处理,SQL语句不会上传服务器。
相关推荐
关于 SQL 格式化
SQL格式化(SQL Formatting / SQL Beautification)是指通过自动化工具调整SQL语句的空白字符(换行、缩进、空格)和关键字大小写,使其具有一致的、可读性强的排版结构。SQL作为一种声明式查询语言,一条复杂查询往往涉及多表JOIN、嵌套子查询、多个WHERE条件、GROUP BY分组、HAVING过滤、ORDER BY排序等多个子句,如果不做格式化,所有内容挤在一行或缩进混乱,会严重影响可读性和维护效率。格式化后的SQL通过合理的换行和缩进将每个子句独立成行,嵌套层次通过缩进表达,让阅读者能够快速理解查询结构。
为什么SQL格式化很重要?在团队协作环境中,不同开发者有不同的编码风格偏好——有人喜欢关键字大写,有人喜欢小写;有人用2空格缩进,有人用4空格或Tab;有人将AND放在行首,有人放在行尾。这些风格差异本身不影响SQL执行,但在代码审查(Code Review)时会产生大量无意义的diff,审查者需要区分哪些是真正的逻辑变更、哪些只是格式调整。统一的SQL格式化规范和自动化格式化工具可以消除风格争论,让团队专注于业务逻辑本身。
SQL格式化的核心规则通常包括以下几个方面:第一,关键字大小写——SELECT、FROM、WHERE、JOIN、ON、GROUP BY、ORDER BY、HAVING、LIMIT、INSERT、UPDATE、DELETE、CREATE、ALTER、DROP等SQL保留字通常大写以便与标识符区分(或根据团队规范统一小写);第二,子句换行——每个主要子句(SELECT/FROM/WHERE/GROUP BY/ORDER BY等)独立成行;第三,列名对齐——SELECT列表中的多个列名各自占一行并垂直对齐;第四,缩进层次——子查询、JOIN条件、嵌套CASE表达式等通过增加缩进体现层级;第五,运算符位置——AND/OR等逻辑运算符统一放在行首或行尾。
不同数据库方言的SQL格式化有其特殊性。MySQL使用反引号(`)引用标识符,PostgreSQL使用双引号("),SQL Server使用方括号([]);MySQL用LIMIT分页,PostgreSQL支持LIMIT/OFFSET,SQL Server用TOP或OFFSET/FETCH,Oracle用ROWNUM;PostgreSQL有::类型转换操作符,MySQL有反引号转义,SQL Server有方括号标识符。这些方言差异要求格式化器能够识别特定数据库的语法元素,否则可能将特殊语法误判为错误或错误地拆分关键字。本工具基于sql-formatter库实现,对20种主流SQL方言提供了专门的语法支持。
SQL压缩(SQL Minification)是格式化的反向操作,在某些场景下非常有用。应用程序日志中打印的SQL、ORM框架(如Hibernate、MyBatis、Django ORM、SQLAlchemy)生成的SQL、数据库性能监控工具捕获的SQL,经常是没有换行的单行压缩格式,这对于排查问题非常不友好——需要先格式化才能阅读。反过来,当需要将SQL嵌入到代码字符串(如Java/Python/JavaScript中的字符串拼接)、写入配置文件、通过URL参数传递、或者在不支持多行文本的聊天工具中分享时,压缩为单行可以避免换行和缩进导致的格式问题。
选择合适的格式化风格需要考虑团队规范和使用场景。关键字大写风格是SQL的传统惯例,在印刷时代关键字大写可以让手写或打字机输出的SQL更易读,在今天仍有大量团队和组织使用。关键字小写风格在GitHub等现代代码平台上越来越流行,因为小写在视觉上更柔和,配合现代编辑器的语法高亮已不需要靠大小写来区分关键字。缩进宽度2空格在前端开发者中更常见,4空格在后端Java/C#开发者中更普遍。Tab缩进允许不同开发者在编辑器中自定义显示宽度。逻辑运算符AND/OR放在行首在阅读长条件列表时更易扫描每个条件;放在行尾则更符合英语阅读习惯。
SQL格式化工具的实现原理主要基于词法分析(Tokenization)和语法解析。sql-formatter等库首先将SQL字符串分解为一系列token(关键字、标识符、字面量、运算符、标点、注释等),然后根据语法规则(不同方言有不同的规则集)重新排列这些token,在适当的位置插入换行符和缩进。与通用代码格式化器(如Prettier)不同,SQL格式化器需要理解SQL的特定语法结构(如JOIN...ON条件、CASE WHEN...END表达式、子查询括号嵌套)才能正确缩进,而不仅仅是基于花括号或括号匹配。
使用SQL格式化工具时需要注意以下事项:第一,格式化不会验证SQL的语义正确性——语法正确但逻辑错误的SQL(如JOIN条件写错、WHERE条件遗漏)格式化后仍然是错误的,格式化只改善排版不改善逻辑;第二,格式化工具可能在极少数边缘情况下产生与原SQL在空白敏感场景下不同的结果(如字符串常量内的空格、特定注释位置),建议格式化后做简单验证;第三,不要将格式化工具生成的SQL直接在生产环境执行而不做测试,尤其是包含动态参数的SQL;第四,对于包含敏感数据(密码、密钥、PII)的SQL,使用本地格式化工具(如本工具)而非在线工具,避免数据泄露风险。
适用场景
- 接手老项目时整理没有格式的大段SQL存储过程和复杂联表查询,快速理解业务逻辑
- 团队代码审查前统一SQL风格,消除因个人格式偏好导致的diff噪音,聚焦于逻辑审查
- 从日志或控制台复制的压缩单行SQL,格式化后便于阅读排查问题
- 编写技术文档和博客时,将SQL示例格式化后嵌入文档提升专业感和可读性
- 数据库客户端导出的SQL格式混乱时,重新格式化为团队统一风格再提交代码
- 面试或技术分享准备时,将SQL演示语句格式化后用于PPT和白板讲解
- 排查SQL报错时,将混乱的嵌套子查询格式化后定位括号不匹配、关键字缺失等结构问题
- ORM框架生成的SQL日志通常是无换行压缩格式,格式化后便于分析实际执行的查询
- 开发数据迁移脚本时,格式化建表语句和INSERT语句提高可维护性
- 对比不同版本SQL差异前先统一格式,避免纯格式差异干扰代码审查
- 学习SQL时格式化示例查询,通过清晰的缩进和换行理解JOIN、子查询、GROUP BY的层级关系
- 分享SQL片段给同事时,先格式化再通过URL链接分享,对方打开即看到相同的格式化结果
使用方法
- 选择数据库方言(默认MySQL,支持20种SQL方言),确保格式化器正确识别语法
- 将需要格式化的SQL语句粘贴到左侧编辑区,或点击上传按钮导入.sql/.txt文件,也可从示例菜单加载示例SQL
- 点击格式化按钮(Shift+Cmd/Ctrl+F)或等待自动格式化(输入后800ms自动触发),右侧即时显示格式化结果
- 如需调整格式,点击设置按钮展开配置面板,调整关键字大小写、缩进、换行等选项,或选择预设风格;如需单行压缩,点击压缩按钮
- 点击复制按钮复制结果,或点击下载按钮保存为.sql文件,也可点击分享按钮生成包含SQL内容的URL链接
功能特点
- 20种数据库方言兼容:支持标准SQL、MySQL、MariaDB、TiDB、PostgreSQL、SQLite、BigQuery、Snowflake、Redshift、DB2、PL/SQL(Oracle)、T-SQL(SQL Server)、Spark SQL、Hive、Trino、ClickHouse、DuckDB等20种SQL方言的语法识别和格式化
- 关键字大小写控制:支持SELECT/FROM/WHERE/JOIN等关键字大写(UPPER)、小写(lower)或保留原样(preserve)三种模式,数据类型和函数名单独配置
- 标识符大小写控制:表名、列名、别名等标识符支持大写、小写或保留原样,适应不同团队编码规范
- 缩进风格可选:支持标准缩进、表格左对齐(tabularLeft)、表格右对齐(tabularRight)三种缩进风格,满足不同阅读偏好
- 灵活缩进配置:缩进宽度可选2空格、4空格或Tab字符,查询语句之间的空行数可选0/1/2行
- 逻辑运算符换行:可配置AND/OR等逻辑运算符换行在运算符之前(before)或之后(after),与团队代码风格一致
- 表达式宽度控制:表达式换行宽度阈值可调(20-200字符),超过宽度自动换行,控制单行代码长度
- 紧凑运算符模式:开启后运算符周围不留额外空格,生成更紧凑的格式化结果,适合嵌入式SQL场景
- 分号前换行:可选是否在语句结束分号前换行,让分号独立成行便于快速定位语句边界
- 4种预设风格:一键切换默认(UPPER关键字+2空格缩进)、小写(全小写关键字)、紧凑(表格对齐+紧凑运算符)、宽松(4空格缩进+双空行)预设,无需逐项调整
- SQL压缩功能:一键压缩SQL为单行,自动移除注释、多余空白和换行,适合日志输出、代码拼接和文档嵌入场景
- 语法验证功能:基础SQL语法验证,格式化失败时显示错误信息帮助定位语法问题
- 内置示例SQL:提供基础查询、复杂联表查询、多语句批处理、CREATE TABLE建表语句四组示例SQL,快速体验格式化效果
- 文件上传下载:支持上传.sql/.txt文件直接导入SQL,格式化后可下载为.sql文件保存
- URL分享:通过LZ-String压缩将SQL编码到URL hash中,复制链接即可分享格式化配置和SQL内容
- 实时自动格式化:输入SQL后800ms防抖自动格式化,修改即时看到效果,无需反复点击按钮
- 快捷键操作:Shift+Cmd/Ctrl+F格式化、Shift+Cmd/Ctrl+C压缩、Shift+Cmd/Ctrl+V验证、Shift+Cmd/Ctrl+O上传、Shift+Cmd/Ctrl+D下载、Shift+Cmd/Ctrl+K清空
- CodeMirror编辑器:基于CodeMirror 6的SQL语法高亮编辑器,支持可拖拽调整左右面板宽度、字体大小调整、历史记录面板
- 一键复制结果:格式化或压缩后的SQL可一键复制到剪贴板,直接粘贴到数据库客户端或代码中使用
- 纯浏览器本地处理:所有SQL格式化在浏览器JavaScript中完成,基于sql-formatter库,SQL语句不会上传到任何服务器,数据安全有保障
常见问题
SQL 格式化会改变查询逻辑吗?格式化后的SQL可以直接执行吗?
不会改变查询逻辑。SQL格式化只调整空白字符(换行、缩进、空格)和关键字大小写,不会修改SQL中的标识符、值、运算符、函数调用和查询结构。格式化后的SQL在语义上与原始SQL完全等价,可以直接复制到MySQL Workbench、pgAdmin、DBeaver、Navicat等数据库客户端中执行。但建议在生产环境执行前先在测试环境验证。
支持哪些数据库方言?不同数据库的SQL语法有差异怎么办?
支持20种SQL方言:标准SQL、MySQL、MariaDB、TiDB、PostgreSQL、SQLite、BigQuery、Snowflake、Redshift、DB2、DB2i、PL/SQL(Oracle)、T-SQL(SQL Server)、Spark SQL、Hive、Trino、ClickHouse、SingleStoreDB、DuckDB、N1QL(Couchbase)。不同数据库在分页语法(LIMIT vs LIMIT/OFFSET vs TOP vs ROWNUM)、字符串拼接、日期函数、标识符引用(反引号 vs 双引号 vs 方括号)等方面有差异,选择正确的方言可以确保格式化器正确识别关键字和函数名,避免将方言特有函数误格式化。
SQL压缩是什么?和格式化有什么区别?
SQL压缩(Minify)是格式化的反向操作:移除所有注释(包括/* */多行注释和--单行注释)、将连续空白字符合并为单个空格、移除括号/逗号/分号/运算符周围多余空格,输出为单行紧凑SQL。压缩适合以下场景:将SQL嵌入到代码字符串中、写入日志文件、通过URL参数传递、在聊天窗口中分享避免换行错乱。格式化则是添加适当的换行和缩进提高可读性。
自动格式化会在什么时候触发?可以关闭吗?
在左侧编辑区输入或修改SQL后,经过800ms防抖延迟会自动触发格式化(前提是上次格式化没有语法错误)。这是为了在你停止输入后即时展示格式化效果。如果你偏好手动控制,直接点击工具栏的格式化按钮即可,不需要等待自动触发。目前没有单独关闭自动格式化的开关,但只要不修改输入内容就不会重复触发。
格式化失败提示语法错误怎么办?
格式化器在遇到无法解析的SQL语法时会报错,常见原因包括:1)括号不匹配——检查左右括号数量是否一致;2)字符串未闭合——检查单引号/双引号是否成对;3)关键字拼写错误——如SELCT、WHRER等笔误;4)数据库方言不匹配——如使用了PostgreSQL特有的::类型转换语法但选择了MySQL方言;5)不完整的SQL片段——如只有WHERE条件没有SELECT FROM。错误信息会显示解析器报告的问题位置和原因,可据此定位问题。也可以先点击验证按钮(Shift+Cmd/Ctrl+V)检查语法。
关键字大写、小写、保留原样三种模式怎么选?
关键字大写(UPPER)是最传统和最流行的SQL编码风格,SELECT/FROM/WHERE/JOIN等关键字大写让它们与表名/列名形成视觉区分,在大量代码中快速定位SQL结构。关键字小写更适合现代IDE环境(现代编辑器有语法高亮,不再依赖大小写区分),视觉上更统一。保留原样(preserve)不改变你输入的大小写,适合对已有代码做最小化格式调整。关键字、标识符(表名列名)、数据类型(VARCHAR/INT/BIGINT)、函数名(COUNT/SUM/COALESCE)可分别独立设置大小写策略。
Tabular对齐模式和标准缩进有什么区别?
标准缩进(standard)使用传统的层级缩进方式,每个子句缩进固定空格数。Tabular左对齐/右对齐模式会将SELECT列表中的列名、WHERE条件中的表达式等按列对齐,形成类似表格的视觉效果。例如SELECT后面的多个列名会垂直对齐,AS别名也会对齐到同一列位置。这种模式在宽屏显示器上阅读多列查询时非常直观,但在窄屏下可能导致行过长。
如何快速在团队统一的SQL风格和个人偏好之间切换?
使用设置面板中的预设按钮:默认(UPPER关键字+2空格标准缩进)、小写(全小写关键字)、紧凑(tabularLeft对齐+紧凑运算符)、宽松(4空格缩进+查询间双空行)。如果你的团队有特定规范,手动调整各选项后格式化即可。目前暂不支持保存自定义预设,但配置选项数量有限,快速调整也很方便。
格式化后的SQL会丢失注释吗?
格式化(Format)操作会保留注释,--单行注释和/* */多行注释都会保留在原位置附近(具体位置取决于sql-formatter库的注释处理逻辑)。但压缩(Compress)操作会移除所有注释以生成最紧凑的单行SQL,压缩前如果需要保留注释请先复制格式化结果。
支持哪些快捷键?Mac和Windows/Linux有什么不同?
支持以下快捷键(Mac使用Cmd键,Windows/Linux使用Ctrl键,均需同时按住Shift):Shift+Cmd/Ctrl+F 格式化;Shift+Cmd/Ctrl+C 压缩;Shift+Cmd/Ctrl+V 语法验证;Shift+Cmd/Ctrl+O 上传文件;Shift+Cmd/Ctrl+D 下载文件;Shift+Cmd/Ctrl+K 清空内容。点击工具栏的问号图标可以随时查看快捷键列表。
SQL文件上传有大小限制吗?支持哪些文件格式?
支持上传.sql和.txt格式的文本文件,文件大小理论上没有硬性限制,但浏览器处理超大文件(如超过1MB的SQL转储文件)可能会有性能问题。建议处理单个查询或小规模脚本文件。对于超大SQL文件(如完整数据库转储),建议先分割为较小的片段再格式化。文件内容通过浏览器FileReader API读取,不会上传到服务器。
URL分享功能安全吗?SQL内容会被服务器看到吗?
URL分享功能将SQL内容使用LZ-String压缩后编码到URL的hash部分(#后面的内容)。URL hash部分的特性是:它不会随HTTP请求发送到服务器,仅在浏览器本地处理。当你复制分享链接给他人时,对方的浏览器解析hash并解压显示SQL内容,整个过程中SQL不会经过任何服务器。但请注意,分享链接包含完整SQL内容,如果SQL中包含敏感信息(如密码、密钥、个人数据),请不要在公开渠道分享链接。
可以格式化包含多条SQL语句的脚本吗?
可以。工具支持多条SQL语句批量格式化(如多个SELECT/INSERT/UPDATE/CREATE TABLE语句用分号分隔)。你可以通过设置面板中的"查询间空行数"选项控制语句之间的间隔(0/1/2行)。加载"多语句"示例SQL可以体验多语句格式化效果。每条语句独立缩进排版,语句之间用配置的空行数分隔。
处理多大的SQL语句会卡顿?
基于sql-formatter库的纯JavaScript实现,处理几百行以内的SQL在现代浏览器中通常是毫秒级响应,不会有卡顿感。即使是数千行的存储过程或复杂查询也能在1秒内完成。所有计算在浏览器主线程完成,超大文件(如超过10000行的SQL转储)可能导致短暂的界面冻结,建议分批处理。
工具需要联网使用吗?SQL数据安全吗?
页面加载后即可离线使用,SQL格式化、压缩、验证全部在浏览器本地JavaScript中完成,不会将你输入的SQL语句发送到任何外部服务器。不使用Cookie追踪,不收集用户输入的SQL内容。基于成熟的开源sql-formatter库实现,代码逻辑透明可查。
故障排查
格式化报错「Parse error」或「SQL 格式化失败」怎么办?
格式化器基于sql-formatter库进行SQL解析,遇到无法识别的语法时会报错。常见原因和解决方法:1)括号不匹配——检查左右括号数量是否一致,可以用编辑器的括号匹配高亮功能辅助检查;2)字符串引号未闭合——检查单引号、双引号是否成对出现,字符串中的引号需要转义(如''或\');3)数据库方言选择错误——如使用了PostgreSQL的::操作符但方言选了MySQL,切换到正确方言即可;4)SQL语句不完整——如只有WHERE子句没有SELECT FROM;5)使用了非常特殊的数据库特有语法(如某些存储过程控制流),尝试切换到最接近的方言,或在格式化前简化SQL片段。
格式化后中文或特殊字符显示乱码?
本工具完全支持UTF-8编码,中文和Unicode字符在格式化过程中保持不变。如果出现乱码,通常是因为你粘贴的SQL本身来自编码不正确的文件(如从GBK编码的文件复制)。请确保源文件使用UTF-8编码保存,或在粘贴前将文件转换为UTF-8编码。浏览器端的CodeMirror编辑器默认使用UTF-8,不会引入编码转换。
上传SQL文件后没有反应或显示为空?
文件上传仅支持.sql和.txt扩展名的文本文件。如果文件是二进制格式(如.sqlite数据库文件、.doc文档),上传后会显示乱码或为空。另外,某些浏览器对通过JavaScript读取本地文件有安全限制,确保你是通过用户主动点击上传按钮选择文件,而非拖拽(拖拽上传目前未支持)。文件大小建议不超过1MB,超过可能导致浏览器解析缓慢。
格式化后某些关键字变成了小写/大写,和原始输入不一致?
这是格式化的正常行为。关键字大小写(keywordCase)选项默认设为UPPER,会将SQL关键字统一转为大写。如果你希望保留原始大小写不变,请在设置面板中将关键字、标识符、数据类型、函数的大小写选项都改为"保留原样(preserve)",这样格式化器只会调整换行和缩进,不会改变任何字母的大小写。
术语表
- SQL Dialect(SQL方言)
- 不同数据库管理系统(DBMS)对标准SQL的扩展和变体。如MySQL的LIMIT、PostgreSQL的::类型转换、SQL Server的TOP、Oracle的ROWNUM等都是方言特有语法。格式化时需要选择正确的方言以确保语法正确解析。
- Keyword Case(关键字大小写)
- SQL保留字(SELECT/FROM/WHERE/JOIN等)的大小写策略。大写(UPPER)是传统风格,小写(lower)在现代开发中越来越流行,保留原样(preserve)用于最小化改动。
- Identifier(标识符)
- SQL中的数据库对象名称,包括库名、表名、列名、别名、索引名、视图名、存储过程名等。不同数据库引用标识符的方式不同:MySQL用反引号,PostgreSQL用双引号,SQL Server用方括号。
- Indent Style(缩进风格)
- 控制SQL格式化时的缩进对齐方式。标准缩进使用层级递进;tabularLeft/tabularRight将列名和别名按表格形式对齐,在宽屏下可读性更好但可能产生较长行。
- Logical Operator Newline(逻辑运算符换行)
- AND/OR等逻辑运算符在多行条件中的换行位置。before表示运算符在下一行开头,after表示运算符在当前行末尾。不同团队有不同偏好。
- Expression Width(表达式宽度)
- 触发换行的单行字符数阈值(20-200字符)。超过此宽度的表达式将被折行,类似于代码编辑器中的printWidth/ruler设置。
- Dense Operators(紧凑运算符)
- 格式化选项之一,开启后运算符(=、<、>、+、-等)周围不留额外空格,如`WHERE id=1 AND status='active'`而非`WHERE id = 1 AND status = 'active'`,生成更紧凑的输出。
- Lines Between Queries(查询间空行数)
- 多条SQL语句之间的空行数。0表示紧接排列,1表示一个空行分隔(常用),2表示两个空行(宽松风格),影响多条语句脚本的可读性。
- SQL Minify/Compress(SQL压缩)
- 将格式化的SQL移除所有注释和多余空白,合并为单行紧凑格式。适用于日志输出、代码嵌入、URL传递等场景,是格式化的反向操作。
- Pretty Print(美化打印)
- 通过自动缩进和换行使代码或数据具有可读性强的格式输出。SQL Pretty Print即SQL格式化美化,与Minify(压缩)相对。
- CodeMirror
- 本工具使用的浏览器端代码编辑器组件(版本6),提供SQL语法高亮、行号显示、代码折叠等编辑增强功能,是业界广泛使用的Web代码编辑器解决方案。
- sql-formatter
- 本工具底层使用的开源SQL格式化库,支持多种SQL方言的词法分析和格式化输出,是前端生态中最流行的SQL格式化库之一。
支持的SQL方言列表
工具支持20种SQL数据库方言,选择与你使用的数据库匹配的方言可获得最佳格式化效果:
| 方言 | 数据库 | 特点说明 |
|---|---|---|
| Standard SQL | 标准SQL | ANSI SQL标准语法,适用于通用场景和未知方言 |
| MySQL | MySQL / TiDB | 最流行的开源关系数据库,反引号标识符,LIMIT分页 |
| MariaDB | MariaDB | MySQL分支,兼容MySQL语法并扩展了更多函数 |
| PostgreSQL | PostgreSQL | 功能丰富的开源数据库,双引号标识符,::类型转换 |
| SQLite | SQLite | 嵌入式轻量数据库,移动应用和浏览器常用 |
| T-SQL | SQL Server / Azure | 微软SQL Server的Transact-SQL,方括号标识符,TOP分页 |
| PL/SQL | Oracle | Oracle的过程化SQL扩展,ROWNUM分页,丰富的内置包 |
| BigQuery | Google BigQuery | Google云数据仓库,支持STRUCT/ARRAY等嵌套类型 |
| Snowflake | Snowflake | 云原生数据仓库,半结构化数据处理能力强 |
| Redshift | AWS Redshift | 亚马逊云数据仓库,基于PostgreSQL但有特有语法 |
格式化预设风格对比
4种一键预设风格适合不同使用场景:
| 预设 | 关键字 | 缩进 | 运算符 | 查询间隔 |
|---|---|---|---|---|
| 默认 | UPPER | 2空格 标准 | 正常间距 | 1空行 |
| 小写 | lower | 2空格 标准 | 正常间距 | 1空行 |
| 紧凑 | UPPER | Tabular左对齐 | 紧凑模式 | 1空行 |
| 宽松 | UPPER | 4空格 标准 | 正常间距 | 2空行 |
快捷键一览
所有快捷键均需同时按住修饰键+Shift+对应字母键:
| 操作 | Mac | Windows/Linux | 说明 |
|---|---|---|---|
| 格式化 | ⇧⌘F | Shift+Ctrl+F | 美化SQL语句,添加换行和缩进 |
| 压缩 | ⇧⌘C | Shift+Ctrl+C | 压缩SQL为单行,移除注释和空白 |
| 验证 | ⇧⌘V | Shift+Ctrl+V | 检查SQL语法是否正确 |
| 上传 | ⇧⌘O | Shift+Ctrl+O | 从本地文件加载.sql/.txt |
| 下载 | ⇧⌘D | Shift+Ctrl+D | 将结果保存为.sql文件 |
| 清空 | ⇧⌘K | Shift+Ctrl+K | 清除输入和输出内容 |
Privacy & Security
本SQL格式化工具所有操作完全在你的浏览器本地完成:你输入的SQL语句、选择的方言和格式化配置全部在浏览器JavaScript中通过sql-formatter库进行处理,不会通过网络发送任何SQL内容或配置到外部服务器。文件上传通过HTML5 FileReader API读取本地文件内容,不经过网络传输。URL分享功能将SQL压缩后编码在URL hash部分(#后内容不会随HTTP请求发送到服务器),仅在浏览器本地解压显示。不使用Cookie追踪,不收集用户输入的SQL内容或使用行为数据。关闭或刷新页面后,输入内容和配置状态自动重置(历史记录仅保存在本地localStorage中)。
Authoritative References
- GitHubsql-formatter 官方文档
- codemirror.netCodeMirror 6 官方网站
- WikipediaWikipedia - SQL 语法
- 色盲模拟器
- 颜色转换器
- .htaccess 转 Nginx 转换器
- SQL 转换器
- Cookie 解析器
- Cron 表达式工作台
- Cron 表达式验证器
- CSS 格式化
- CSS 压缩
- CSV 转 Excel
- CSV Viewer
- CSV Editor
- 货币转换器
- 差异检查器
- Excel to CSV
- 网站图标生成器
- CSS Formatter
- HTML Formatter
- Markdown Formatter
- XML 格式
- 十六进制转换器
- HTML 格式
- HTML 压缩
- HTML 转 Markdown
- Markdown 转 HTML
- JavaScript 格式化
- JS 压缩
- JSX 格式化工具
- JSX 压缩
- 关键词聚类
- Lorem Ipsum 生成器
- Markdown 表格生成器
- Meta Tag 生成器
- 密码生成器
- 密码强度检测工具
- 二维码/条形码生成器
- 正则表达式测试器
- Slug 生成器
- SQL 生成器
- SQL 格式化工具
- 字数统计
- 时间工具
- TS 格式
- TS 压缩
- TSX 格式化
- TSX 压缩
- Unix 时间戳转换
- UUID 生成器
- YAML 格式化
- 大小写命名风格转换器