SQL 格式化工具

0 字符

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链接分享,对方打开即看到相同的格式化结果

使用方法

  1. 选择数据库方言(默认MySQL,支持20种SQL方言),确保格式化器正确识别语法
  2. 将需要格式化的SQL语句粘贴到左侧编辑区,或点击上传按钮导入.sql/.txt文件,也可从示例菜单加载示例SQL
  3. 点击格式化按钮(Shift+Cmd/Ctrl+F)或等待自动格式化(输入后800ms自动触发),右侧即时显示格式化结果
  4. 如需调整格式,点击设置按钮展开配置面板,调整关键字大小写、缩进、换行等选项,或选择预设风格;如需单行压缩,点击压缩按钮
  5. 点击复制按钮复制结果,或点击下载按钮保存为.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标准SQLANSI SQL标准语法,适用于通用场景和未知方言
MySQLMySQL / TiDB最流行的开源关系数据库,反引号标识符,LIMIT分页
MariaDBMariaDBMySQL分支,兼容MySQL语法并扩展了更多函数
PostgreSQLPostgreSQL功能丰富的开源数据库,双引号标识符,::类型转换
SQLiteSQLite嵌入式轻量数据库,移动应用和浏览器常用
T-SQLSQL Server / Azure微软SQL Server的Transact-SQL,方括号标识符,TOP分页
PL/SQLOracleOracle的过程化SQL扩展,ROWNUM分页,丰富的内置包
BigQueryGoogle BigQueryGoogle云数据仓库,支持STRUCT/ARRAY等嵌套类型
SnowflakeSnowflake云原生数据仓库,半结构化数据处理能力强
RedshiftAWS Redshift亚马逊云数据仓库,基于PostgreSQL但有特有语法

格式化预设风格对比

4种一键预设风格适合不同使用场景:

预设关键字缩进运算符查询间隔
默认UPPER2空格 标准正常间距1空行
小写lower2空格 标准正常间距1空行
紧凑UPPERTabular左对齐紧凑模式1空行
宽松UPPER4空格 标准正常间距2空行

快捷键一览

所有快捷键均需同时按住修饰键+Shift+对应字母键:

操作MacWindows/Linux说明
格式化⇧⌘FShift+Ctrl+F美化SQL语句,添加换行和缩进
压缩⇧⌘CShift+Ctrl+C压缩SQL为单行,移除注释和空白
验证⇧⌘VShift+Ctrl+V检查SQL语法是否正确
上传⇧⌘OShift+Ctrl+O从本地文件加载.sql/.txt
下载⇧⌘DShift+Ctrl+D将结果保存为.sql文件
清空⇧⌘KShift+Ctrl+K清除输入和输出内容

Privacy & Security

本SQL格式化工具所有操作完全在你的浏览器本地完成:你输入的SQL语句、选择的方言和格式化配置全部在浏览器JavaScript中通过sql-formatter库进行处理,不会通过网络发送任何SQL内容或配置到外部服务器。文件上传通过HTML5 FileReader API读取本地文件内容,不经过网络传输。URL分享功能将SQL压缩后编码在URL hash部分(#后内容不会随HTTP请求发送到服务器),仅在浏览器本地解压显示。不使用Cookie追踪,不收集用户输入的SQL内容或使用行为数据。关闭或刷新页面后,输入内容和配置状态自动重置(历史记录仅保存在本地localStorage中)。

Authoritative References