Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam Pangkalan Data PostgreSQL Menggunakan Psycopg2?

Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam Pangkalan Data PostgreSQL Menggunakan Psycopg2?

Patricia Arquette
Patricia Arquetteasal
2024-11-18 09:07:02399semak imbas

How Can I Efficiently Insert Multiple Rows into a PostgreSQL Database Using Psycopg2?

Memasukkan Berbilang Baris dengan Cekap dengan Psycopg2

Apabila berurusan dengan set data yang besar, adalah penting untuk memasukkan data ke dalam pangkalan data dengan cara yang cekap. Psycopg2 menyediakan cara mudah untuk melakukan sisipan pukal menggunakan satu pertanyaan.

Untuk memasukkan berbilang baris dengan satu pernyataan pertanyaan, anda boleh menggunakan pendekatan mudah berikut:

import psycopg2

# Connect to the database
connection = psycopg2.connect(...)

# Prepare the cursor
cursor = connection.cursor()

# Create the query template
query = "INSERT INTO t (a, b) VALUES (%s, %s)"

# Prepare the data to insert
data = [(1, 2), (3, 4), (5, 6)]

# Execute the query using Psycopg2's "executemany" method
cursor.executemany(query, data)

# Commit the changes to the database
connection.commit()

The executemany() kaedah mengambil dua argumen: templat pertanyaan dan senarai tupel yang mengandungi nilai yang akan dimasukkan. Setiap tuple sepadan dengan satu baris data.

Dengan memanfaatkan kaedah ini, anda boleh memasukkan berbilang baris ke dalam pangkalan data anda dengan satu pertanyaan, dengan ketara mengurangkan bilangan perjalanan pergi balik ke pangkalan data dan meningkatkan prestasi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam Pangkalan Data PostgreSQL Menggunakan Psycopg2?. 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