Bagaimanakah cara saya memasukkan fail CSV ke dalam PostgreSQL menggunakan Golang tanpa gelung?

Barbara Streisand
Lepaskan: 2024-10-26 06:54:30
asal
637 orang telah melayarinya

How do I insert a CSV file into PostgreSQL using Golang without for loops?

Masukkan CSV Pukal ke dalam PostgreSQL Menggunakan Golang Sans For Loops

Jika anda seorang pemula Golang yang ingin memasukkan data CSV ke dalam jadual PostgreSQL tanpa menggunakan gelung atau pertanyaan SQL mentah, pgx ialah penyelesaian anda. Begini caranya:

  1. Import pgx: Mulakan dengan mengimport pgx, antara muka pangkalan data untuk PostgreSQL.
<code class="go">import (
    "context"
    "fmt"
    "os"

    "github.com/jackc/pgx/v4"
)</code>
Salin selepas log masuk
  1. Wujudkan Sambungan Pangkalan Data: Sambung ke pangkalan data PostgreSQL anda menggunakan pgx.Connect().
<code class="go">dbconn, err := pgx.Connect(context.Background(), os.Getenv("DATABASE_URL"))
if err != nil {
    panic(err)
}
defer dbconn.Release()</code>
Salin selepas log masuk
  1. Buka Fail CSV: Muatkan fail CSV yang anda inginkan untuk mengimport.
<code class="go">f, err := os.Open(filename)
if err != nil {
    panic(err)
}
defer func() { _ = f.Close() }()</code>
Salin selepas log masuk
  1. Lakukan Sisipan Pukal: Gunakan CopyFrom() untuk melakukan sisipan pukal daripada fail CSV ke dalam jadual bernama "csv_test".
<code class="go">res, err := dbconn.Conn().PgConn().CopyFrom(context.Background(), f, "COPY csv_test FROM STDIN (FORMAT csv)")
if err != nil {
    panic(err)
}</code>
Salin selepas log masuk
  1. Hasil Paparan: Cetak bilangan baris yang terjejas oleh sisipan pukal.
<code class="go">fmt.Print(res.RowsAffected())</code>
Salin selepas log masuk

Itu sahaja! Menggunakan pgx, anda boleh memasukkan sejumlah besar data CSV ke dalam pangkalan data PostgreSQL anda dengan pantas dan cekap tanpa memerlukan gelung manual atau pertanyaan rumit.

Atas ialah kandungan terperinci Bagaimanakah cara saya memasukkan fail CSV ke dalam PostgreSQL menggunakan Golang tanpa gelung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!