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

Bagaimana untuk Mengemas kini Baris Postgres Tertentu Menggunakan Data daripada Fail CSV?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-15 10:13:47486semak imbas

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

Mengemas kini Baris Jadual Postgres dengan Data CSV

Panduan ini menunjukkan cara mengemas kini baris tertentu dengan cekap dalam jadual PostgreSQL menggunakan data daripada fail CSV. Proses ini melibatkan beberapa langkah utama:

Pertama, buat jadual sementara untuk menyimpan data CSV. Perintah COPY digunakan untuk mengimport fail CSV ke dalam jadual sementara ini. Pastikan anda menggantikan /absolute/path/to/file dengan laluan sebenar ke fail CSV anda.

<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>

Seterusnya, pernyataan UPDATE bergabung dengan jadual utama (tbl) dengan jadual sementara (tmp_data) berdasarkan lajur id. Ini memastikan bahawa hanya baris yang sepadan dikemas kini.

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

Akhir sekali, alih keluar jadual sementara kerana ia tidak diperlukan lagi.

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

Kaedah ini mengemas kini baris secara terpilih, menggunakan hanya data yang berkaitan daripada CSV. Untuk jadual yang lebih besar, pertimbangkan untuk mengoptimumkan prestasi dengan mengindeks jadual sementara dan melaraskan tetapan penimbal sementara. Keistimewaan pangkalan data yang sesuai juga penting untuk pelaksanaan yang berjaya.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Baris Postgres Tertentu Menggunakan 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