ホームページ > データベース > mysql チュートリアル > MySQL テーブルへの CSV インポート中に列をスキップするにはどうすればよいですか?

MySQL テーブルへの CSV インポート中に列をスキップするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-16 08:25:03
オリジナル
672 人が閲覧しました

How Can I Skip Columns During a CSV Import into a MySQL Table?

MySQL テーブルへの CSV インポート中に列をスキップする

CSV ファイルから MySQL テーブルへのデータのインポートは一般的なタスクです。ただし、特定の列をスキップする必要がある状況が発生する場合があります。この記事では、不要な列をスキップし、残りのデータを正しくマップするための解決策を提供します。

シナリオ

11 列の CSV ファイルと 9 列の MySQL テーブルを考えてみましょう。 。目標は、CSV ファイルの列 1 ~ 8 を MySQL テーブルの最初の 8 列に直接マッピングすることです。 CSV ファイルの列 9 と 10 はスキップする必要があり、列 11 は MySQL テーブルの列 9 にマッピングする必要があります。

元のコマンド

初期 SQL以下に示す使用されるコマンドは、CSV ファイルの最初の 9 列を MySQL テーブルの 9 列にマッピングするだけです。

LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table
FIELDS TERMINATED BY ','
ENCLOSED BY ''
LINES TERMINATED BY '\n'
ログイン後にコピー

Solution

Toインポート中に列をスキップするには、MySQL ドキュメントで説明されている手法を利用できます。 LOAD DATA ステートメント内で不要な列をユーザー変数に割り当てることで、それらの列を効果的に破棄できます。以下の変更されたコマンドは、この手法を示しています。

LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table
FIELDS TERMINATED BY ','
ENCLOSED BY ''
LINES TERMINATED BY '\n'
(column1, @dummy, column2, @dummy, column3, column4, column5, column6, column7, column8, @dummy, @dummy, column11)
ログイン後にコピー

この改良されたコマンドでは、不要な列 (9 および 10) がユーザー変数 @dummy に割り当てられ、インポート プロセス中に破棄されます。その結果、残りの列は希望どおりに正しくマッピングされます。CSV ファイルの列 1 ~ 8 は MySQL テーブルの最初の 8 列にマッピングされ、列 11 は MySQL テーブルの列 9 にマッピングされます。

以上がMySQL テーブルへの CSV インポート中に列をスキップするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート