MySQL Shell 8.4  /  MySQL Shell 代码执行  /  输出格式

5.7 输出格式

MySQL Shell 可以以表格、制表符分隔或垂直格式打印结果,也可以以漂亮的或原始 JSON 输出形式打印结果。MySQL Shell 配置选项 resultFormat 可用于指定这些输出格式中的任何一种作为所有会话或当前会话的持久默认值。更改此选项将立即生效。有关设置 MySQL Shell 配置选项的说明,请参见 第 13.4 节,“配置 MySQL Shell 选项”。或者,命令行选项 --result-format 或其别名 (--table--tabbed--vertical) 可在启动时用于指定会话的输出格式。有关命令行选项的列表,请参见 第 A.1 节,“mysqlsh — MySQL Shell”

如果未指定 resultFormat 配置选项,则当 MySQL Shell 处于交互模式时,打印结果集的默认格式为格式化表格,当 MySQL Shell 处于批处理模式时,打印结果集的默认格式为制表符分隔输出。当使用 resultFormat 配置选项设置默认值时,此默认值将应用于交互模式和批处理模式。

MySQL Shell 函数 shell.dumpRows() 可以以 MySQL Shell 支持的任何输出格式格式化查询返回的结果集,并将其转储到控制台。(请注意,结果集将被该函数消耗。)

为了帮助将 MySQL Shell 与外部工具集成,可以使用 --json 选项在从命令行启动 MySQL Shell 时控制所有 MySQL Shell 输出的 JSON 包裹。当 JSON 包裹打开时,MySQL Shell 将生成漂亮的 JSON(默认值)或原始 JSON,并且将忽略 resultFormat MySQL Shell 配置选项的值。当 JSON 包裹关闭或未为会话请求时,结果集将以 resultFormat 配置选项指定的格式正常输出。

现在已弃用 outputFormat 配置选项。此选项组合了 JSON 包裹和结果打印功能。如果此选项仍在您的 MySQL Shell 配置文件或脚本中指定,则其行为如下

  • 使用 jsonjson/raw 值,outputFormat 将分别激活带漂亮的或原始 JSON 的 JSON 包裹。

  • 使用 tabletabbedvertical 值,outputFormat 将关闭 JSON 包裹并将会话的 resultFormat 配置选项设置为适当的值。