ホームページ >データベース >mysql チュートリアル >CSV ファイルのデータを使用して特定の Postgres 行を更新するにはどうすればよいですか?

CSV ファイルのデータを使用して特定の Postgres 行を更新するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-15 10:13:47481ブラウズ

How to Update Specific Postgres Rows Using Data from a CSV File?

CSV データによる Postgres テーブルの行の更新

このガイドでは、CSV ファイルのデータを使用して PostgreSQL テーブルの特定の行を効率的に更新する方法を説明します。 このプロセスには、いくつかの重要なステップが含まれます:

まず、CSV データを保存するための一時テーブルを作成します。 COPY コマンドは、CSV ファイルをこの一時テーブルにインポートするために使用されます。 /absolute/path/to/file を CSV ファイルへの実際のパスに置き換えてください。

<code class="language-sql">CREATE TEMP TABLE tmp_data (id int, apple text, banana text);
COPY tmp_data FROM '/absolute/path/to/file' (FORMAT csv);</code>

次に、UPDATE ステートメントは、tbl 列に基づいてメイン テーブル (tmp_data) と一時テーブル (id) を結合します。これにより、対応する行のみが確実に更新されます。

<code class="language-sql">UPDATE tbl
SET banana = tmp_data.banana
FROM tmp_data
WHERE tbl.id = tmp_data.id;</code>

最後に、一時テーブルは不要になったので削除します。

<code class="language-sql">DROP TABLE tmp_data;</code>

このメソッドは、CSV からの関連データのみを利用して、行を選択的に更新します。大きなテーブルの場合は、一時テーブルにインデックスを付け、一時バッファ設定を調整することでパフォーマンスを最適化することを検討してください。 適切なデータベース権限も、正常に実行するために重要です。

以上がCSV ファイルのデータを使用して特定の Postgres 行を更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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