Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengemas kini Baris Postgres dengan Data daripada Fail CSV?

Bagaimana untuk Mengemas kini Baris Postgres dengan Data daripada Fail CSV?

Barbara Streisand
Barbara Streisandasal
2025-01-15 06:13:44151semak imbas

How to Update Postgres Rows with Data from a CSV File?

Menggunakan Data CSV untuk Mengemas kini Baris Postgres: Panduan Langkah demi Langkah

Panduan ini memperincikan cara mengemas kini baris Postgres sedia ada menggunakan data yang diperoleh daripada fail CSV. Proses ini melibatkan beberapa langkah utama:

1. Menubuhkan Meja Sementara

Mulakan dengan mencipta jadual sementara dalam pangkalan data Postgres anda. Jadual ini akan berfungsi sebagai kawasan pementasan untuk data CSV. Skema jadual mesti mencerminkan struktur jadual sasaran. Contohnya:

<code class="language-sql">CREATE TEMP TABLE tmp_x (id int, banana text, apple text);</code>

2. Mengimport Data CSV

Gunakan perintah COPY untuk memuatkan kandungan fail CSV ke dalam jadual sementara. Ingat untuk menggantikan /absolute/path/to/file dengan laluan fail sebenar:

<code class="language-sql">COPY tmp_x FROM '/absolute/path/to/file' (FORMAT csv);</code>

3. Melaksanakan Kemas Kini

Dengan data dalam jadual sementara, laksanakan pernyataan UPDATE untuk mengubah suai jadual sasaran. Contoh ini mengemas kini lajur banana berdasarkan nilai id yang sepadan:

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

4. Mengalih keluar Jadual Sementara

Selepas kemas kini dimuktamadkan, alih keluar jadual sementara untuk menuntut semula sumber:

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

Nota Penting:

  • Kebenaran Akses: Mengemas kini data dengan COPY secara amnya memerlukan keistimewaan superuser atau peranan yang ditetapkan dengan sewajarnya (terutamanya dalam Postgres 10 dan kemudian).
  • Alternatif untuk Bukan Pengguna Super: Perintah meta copy dalam klien psql menyediakan alternatif untuk pengguna yang tidak mempunyai keistimewaan superuser.
  • Pertimbangan Prestasi: Untuk set data yang besar, pengoptimuman prestasi mungkin melibatkan peningkatan temp_buffers dan mengindeks jadual sementara.

Kaedah ini menawarkan cara yang cekap untuk mengemas kini baris Postgres tertentu menggunakan data daripada fail CSV.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Baris Postgres dengan Data daripada Fail CSV?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn