MySQL Shell 9.0  /  MySQL Shell 工具程式  /  JSON 匯入工具

11.2 JSON 匯入工具

MySQL Shell 的 JSON 匯入工具 util.importJSON() 可讓您將 JSON 文件從檔案 (或 FIFO 特殊檔案) 或標準輸入匯入至 MySQL 伺服器的集合或關聯式資料表。此工具程式會檢查提供的 JSON 文件格式是否正確,並將其插入目標資料庫,無需使用多個 INSERT 陳述式或撰寫指令碼來達成此任務。

您可以將 JSON 文件匯入現有的資料表或集合,或匯入為匯入而建立的新資料表或集合。如果目標資料表或集合在指定的資料庫中不存在,此工具程式會使用預設集合或資料表結構自動建立。預設集合是透過從 schema 物件呼叫 createCollection() 函數來建立。預設資料表的建立方式如下

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 延伸的文件,且未使用此選項,則會以與在輸入檔案中相同的表示方式匯入文件。