SQLite 格式化工具
格式化 SQLite 语句,并按 SQLite 规则处理双引号、反引号或 [方括号] 中的标识符、X'' blob 字面量,以及 ?1、:name 和 @name 等参数。ON CONFLICT、DO UPDATE SET 和 RETURNING 等子句会另起一行,列、条件和子查询则会缩进。未闭合的字符串和括号会报告行号和列号,适合应用和移动端开发者使用。
常见问题
支持哪些 SQLite 语法?
可识别单引号字符串(其中的引号需成对)、双引号、反引号或 [方括号] 中的标识符,以及 X'' blob 字面量。?, ?1, :name、@name 和 $name 等参数形式会按原样保留。
哪些子句会单独换行?
SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY、LIMIT 和 OFFSET 会各自另起一行。SQLite 的 ON CONFLICT 和 DO UPDATE SET 插入或更新子句,以及 RETURNING 子句也会如此。
可以格式化 CREATE TABLE 语句吗?
可以。列定义会在括号内逐行排列,VARCHAR(20) 等较短的类型参数则会保持在同一行。
注释会保留吗?
可以。-- 行注释和 /* 块注释 */ 都会保留在原处,并按新的布局重新缩进。
会改变关键字的大小写吗?
不会。关键字和标识符会保留你输入时的大小写。SQLite 的关键字不区分大小写,因此混合大小写也能正常使用。
如何处理触发器?
BEGIN 和 END 之间的触发器主体会作为一个代码块缩进。内部的每条语句都会各自另起一行。
会报告哪些错误?
未闭合的字符串、带引号的标识符和块注释,以及括号不匹配,都会报告行号和列号。此工具不会执行语句或检查你的架构。
可以更改缩进吗?
可以。选择使用 2 个或 4 个空格,也可以使用制表符。括号中的短列表会保持在一行,较长的列表则会展开为缩进代码块。
输入内容可以有多大?
每次请求最多 1 MB,每条语句最多 128 KB。多条语句会逐条格式化,并以空行分隔。
我的 SQL 会被保存吗?
不会。语句会在内存中格式化后返回,绝不会保存,只会记录请求大小。