テキスト ファイルから MySQL への大規模なデータセットのインポートは、データ分析または統合シナリオを扱うときによく行われるタスクです。 。これを実現する最も効率的な方法の 1 つは、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 中国語 Web サイトの他の関連記事を参照してください。