MySQL 外壳 8.0  / 第 11 章 MySQL Shell 实用程序  /  11.2 JSON 导入实用程序

11.2 JSON 导入实用程序

MySQL Shell 的 JSON 导入实用程序 util.importJSON()使您能够将 JSON 文档从文件(或 FIFO 特殊文件)或标准输入导入到 MySQL 服务器集合或关系表。该实用程序检查提供的 JSON 文档是否格式正确并将它们插入目标数据库,从而无需使用多个 INSERT语句或编写脚本来完成此任务。

您可以将 JSON 文档导入现有表或集合,或导入为导入创建的新表或集合。如果指定数据库中不存在目标表或集合,实用程序将使用默认集合或表结构自动创建它。默认集合是通过从对象调用createCollection()函数创建的。schema默认表创建如下:

CREATE TABLE `dbname`.`tablename` (
   target_column JSON,
   id INTEGER AUTO_INCREMENT PRIMARY KEY 
) CHARSET utf8mb4 ENGINE=InnoDB;

默认集合名称或表名称是提供的导入文件的名称(不带文件扩展名),默认 target_column名称是doc.

JSON 导入实用程序可以处理 JSON 文档中表示的 BSON(二进制 JSON)数据类型。BSON 文档中使用的数据类型并非都由 JSON 原生支持,但可以使用 JSON 格式的扩展来表示。导入实用程序可以处理使用 JSON 扩展来表示 BSON 数据类型的文档,将它们转换为相同或兼容的 MySQL 表示,并使用该表示导入数据值。转换后的数据值可用于表达式和索引,并可由 SQL 语句和 X DevAPI 函数进行操作。

要将 BSON 类型的 JSON 扩展转换为 MySQL 类型,您必须convertBsonTypes在运行导入实用程序时指定该选项。其他选项可用于控制特定 BSON 数据类型的映射和转换。如果您导入具有 BSON 类型的 JSON 扩展名的文档并且不使用此选项,则文档将以与它们在输入文件中表示的方式相同的方式导入。