Maison > développement back-end > Tutoriel Python > Comment puis-je insérer efficacement plusieurs lignes dans une base de données PostgreSQL à l'aide de Psycopg2 ?

Comment puis-je insérer efficacement plusieurs lignes dans une base de données PostgreSQL à l'aide de Psycopg2 ?

Patricia Arquette
Libérer: 2024-11-18 09:07:02
original
399 Les gens l'ont consulté

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

Insérer efficacement plusieurs lignes avec Psycopg2

Lorsque vous traitez de grands ensembles de données, il devient crucial d'insérer des données dans une base de données de manière efficace. Psycopg2 fournit un moyen pratique d'effectuer des insertions groupées à l'aide d'une seule requête.

Pour insérer plusieurs lignes avec une seule instruction de requête, vous pouvez utiliser l'approche simple suivante :

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()
Copier après la connexion

Executemany() La méthode prend deux arguments : le modèle de requête et une liste de tuples contenant les valeurs à insérer. Chaque tuple correspond à une ligne de données.

En tirant parti de cette méthode, vous pouvez insérer plusieurs lignes dans votre base de données avec une seule requête, réduisant ainsi considérablement le nombre d'allers-retours vers la base de données et améliorant les performances.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal