跳转到正文

MySQL 格式化器

按照 MySQL 规则格式化 MySQL 查询和脚本,支持反引号标识符、字符串中的反斜杠转义、# 注释和 DELIMITER 代码块。每个子句各占一行,列和条件会缩进,ON DUPLICATE KEY UPDATE 等 MySQL 子句则保持在一起。未闭合的字符串、注释和括号会报告行号和列号,帮助开发者阅读和审查数据库代码。

重置

常见问题

格式化器能识别哪些 MySQL 语法?

它能识别反引号标识符、带反斜杠转义和双写引号的单引号与双引号字符串、十六进制、位和国家字符集字面量,例如 X'FF'、B'101' 和 N'text';还支持 _utf8mb4'text' 这类字符集引导符,以及 @user 变量。字面量内部的内容会保持原样。

注释如何处理?

井号注释 (#) 和双连字符注释 (--) 会保留在原处。与 MySQL 一样,双连字符后面只有跟着空格或换行时才会开始注释,因此 a--1 仍是一个表达式。可执行版本注释会按原样保留。

查询会如何排版?

SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY 和 LIMIT 等主要子句各自从新行开始,内容缩进排列。选出的列每行一个,AND 和 OR 从新行开始,每个连接也各占一行。

支持特定于 MySQL 的子句吗?

支持。ON DUPLICATE KEY UPDATE、LOCK IN SHARE MODE、FOR UPDATE 和 FOR SHARE 会作为一个完整子句保留在一起,不会拆分到多行。

可以格式化存储过程和触发器吗?

可以。DELIMITER 命令会各自保留在单独的行上,自定义分隔符(例如 // 或 $$)会结束语句,而带有 IF、WHILE 和 LOOP 的 BEGIN 与 END 代码块会缩进排列。

它会更改关键字的大小写吗?

不会。关键字、函数名称和标识符会保留你输入时的大小写,因此 select 和 SELECT 都会保持原样。只有空白和换行符会改变。

格式化器会检查我的查询是否有效吗?

它会检查字符串、带引号的标识符和块注释是否已闭合,以及括号是否平衡,并报告问题所在的行号和列号。它不会运行查询,也不会检查表名或完整的 MySQL 语法。

可以更改缩进吗?

可以。每级缩进可选择 2 个或 4 个空格,也可选择制表符。较短的括号列表会保留在一行,较长的列表和子查询则会展开成缩进代码块。

输入内容可以有多大?

每次请求最多可处理 1 MB 的 SQL,单条语句最多可包含 128 KB。包含许多语句的脚本会逐条格式化,并以空行分隔。

我的 SQL 会被保存吗?

不会。查询会在内存中格式化并立即返回。它们绝不会被保存,只会记录请求大小。

关于 OneClick Pro

OneClick Pro 是一个免费的工具集合,包含超过 150 种网络工具,助你处理日常工作:转换图像和单位、格式化和验证代码、检查域名和 SEO,以及处理文本、日期和数字。所有工具均可免注册、免订阅使用;你输入的内容仅用于计算结果,绝不会被存储。你可以将它用作处理临时任务的快捷工具箱,也可以收藏每天都会用到的工具。