ホームページ > データベース > mysql チュートリアル > 複数行のテキストフィールドを含む CSV を MySQL に正常にインポートするにはどうすればよいですか?

複数行のテキストフィールドを含む CSV を MySQL に正常にインポートするにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-02 19:35:39
オリジナル
466 人が閲覧しました

How Can I Successfully Import a CSV with Multi-Line Text Fields into MySQL?

CSV ファイルを MySQL テーブルにインポートする

CSV ファイルを MySQL テーブルにロードするのは簡単な作業ですが、次のような理由で複雑な作業が発生する場合があります。フォーマットの問題。このような問題の 1 つは、CSV ファイルの一部のフィールドに複数行のテキストが含まれている場合に発生します。

提示されたシナリオでは、ユーザーは CSV ファイル内の各フィールドに対応する列 (VARCHAR( など) を含む MySQL テーブルを作成しました。 256) テキスト宣伝文のフィールド。ただし、LOAD DATA INFILE ステートメントを使用してデータをロードしようとすると、テーブル全体が NULL 値で埋められました。

根本的な問題は、改行を行区切り文字として解析する MySQL のデフォルト動作に起因していました。これを解決するために、ユーザーは LOAD DATA ステートメントで次のような追加パラメータを指定しました。

  • COLUMNS TERMINATED BY ',': 列の区切り文字
  • オプションで '"' で囲まれます: テキストの区切り文字フィールド
  • ESCAPED BY '"': テキスト フィールド内の引用符のエスケープ文字
  • LINES TERMINATED BY 'n': 行の区切り文字
  • 無視 1 LINES: ヘッダー行をスキップします

このアプローチでは、ユーザーは正しい数のレコードをロードできましたが、一部のデータは間違った順序のままでした。これに対処するために、ユーザーは CSV ファイルをインポートするための代替方法を検討しました。

mysqlimport ツールを使用する推奨方法の 1 つ:

mysqlimport --ignore-lines=1 \
            --fields-terminated-by=, \
            --local -u root \
            -p Database \
             TableName.csv
ログイン後にコピー

このツールでは、LOAD と同様のさまざまなパラメーターを指定できます。 DATA ステートメント (行およびフィールドの区切り文字を含む)。 mysqlimport を使用すると、ユーザーはデータが正しい形式と順序でロードされていることを確認できます。

以上が複数行のテキストフィールドを含む CSV を MySQL に正常にインポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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