ホームページ >データベース >mysql チュートリアル >LOAD DATA INFILE を使用してタブ区切りテキスト ファイルを MySQL に効率的にインポートする方法

LOAD DATA INFILE を使用してタブ区切りテキスト ファイルを MySQL に効率的にインポートする方法

Barbara Streisand
Barbara Streisandオリジナル
2024-12-23 03:13:09355ブラウズ

How to Efficiently Import Tab-Delimited Text Files into MySQL Using LOAD DATA INFILE?

LOAD DATA INFILE を使用したテキスト ファイルから MySQL へのデータのインポート

テキスト ファイルから 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。