MySQL Shell 9.0  /  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 包裹时,或者未为会话请求 JSON 包裹时,结果集会按正常方式以 resultFormat 配置选项指定的格式输出。

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

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

  • 对于 tabletabbedvertical 值,outputFormat 会关闭 JSON 包裹,并为会话设置 resultFormat 配置选项为相应的值。