在資料匯入期間將CSV 中的資料列指派給MySQL 表格列
使用LOAD DATA INFILE 指令將資料從CSV 檔案匯入SQL時,必須將文件中的列順序與MySQL 表中的相應列對齊,以實現準確的資料放置。要自動實現此對齊:
具有列映射的LOAD DATA INFILE 語法:
LOAD DATA INFILE 命令支援FIELDS 子句,該子句允許您指定其中的順序CSV 檔案中的欄位應指派給MySQL 表格列。文法如下:
LOAD DATA LOCAL INFILE 'abc.csv' INTO TABLE abc FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (col1, col2, col3, col4, col5...);
範例:
假設您有 CSV 文件,其中的列順序為:姓名、年齡、地址。您希望將資料匯入包含以下列的 MySQL 表中:年齡、姓名、地址。您可以使用下列查詢:
LOAD DATA LOCAL INFILE 'abc.csv' INTO TABLE abc FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (age, name, address);
此查詢將根據 FIELDS 子句中指定的順序自動將 CSV 檔案中的欄位指派給 MySQL 表中的正確欄位。
MySQL 8.0 使用者註意事項:
上述語法中的 LOCAL 關鍵字具有安全隱患。在 MySQL 8.0 中,LOCAL 預設為 False。如果您遇到與此相關的錯誤,您可以依照 MySQL 文件中的說明停用 LOCAL 功能或確認安全風險。
以上是使用 LOAD DATA INFILE 匯入資料時如何將 CSV 欄位對應到 MySQL 表格列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!