從文字檔案將大型資料集匯入MySQL 是處理資料分析或整合場景時的常見任務。實現此目的最有效的方法之一是使用 LOAD DATA INFILE 命令。
指令結構
LOAD DATA INFILE 指令遵循特定語法:
LOAD DATA INFILE 'file_path' INTO TABLE table_name FIELDS TERMINATED BY 'delimiter' LINES TERMINATED BY 'line_delimiter' (column_list)
匯入製表符分隔資料
正如您的問題中提到的,您的文字檔案包含製表符分隔的資料。預設情況下,LOAD DATA INFILE 假定製表符作為欄位分隔符號。因此,以下命令應匯入您的資料:
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport;
指定分隔符
如果您的檔案使用不同的分隔符,您可以使用FIELDS TERMINATED BY指定它條款。例如,如果您的資料以逗號分隔:
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport FIELDS TERMINATED BY ','
設定行分隔符號
LINES TERMINATED BY 子句指定行結束符號。預設情況下,“n”表示新行。如果您的文件使用不同的字符,請進行相應調整。
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'; # If your file uses CRLF as line delimiter
列映射
(column_list) 部分允許您指定列中的列之間的對應文字檔案和資料庫表中的列。如果列的順序和數量匹配,您可以省略此部分。
列映射範例
假設您的文字檔案具有 PerformanceReport 表中不存在的其他欄位。您只能在指令中指定相關欄位:
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport (id, date, value, keyword, cost, clicks) FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';
其他注意事項
以上是如何使用 LOAD DATA INFILE 有效率地將製表符分隔的文字檔案匯入 MySQL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!