Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengemas kini Baris Postgres dengan Data daripada Fail CSV?
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:
COPY
secara amnya memerlukan keistimewaan superuser atau peranan yang ditetapkan dengan sewajarnya (terutamanya dalam Postgres 10 dan kemudian).copy
dalam klien psql
menyediakan alternatif untuk pengguna yang tidak mempunyai keistimewaan superuser.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!