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

11.2 JSON 匯入工具

MySQL Shell 的 JSON 匯入工具 util.importJSON() 讓您可以從檔案(或 FIFO 特殊檔案)或標準輸入將 JSON 文件匯入到 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 擴充功能的文件,但未使用此選項,則會以與輸入檔案中相同的表示方式匯入文件。