Maison >base de données >tutoriel mysql >Comment insérer efficacement une liste de dictionnaires dans une base de données MySQL à l'aide de l'exécution de Python ?
Utilisation d'executemany pour insérer une liste de dictionnaires dans MySQL à partir de Python
En Python, executemany est un outil précieux pour insérer efficacement plusieurs lignes dans une base de données MySQL. Considérez le scénario suivant : Vous disposez d’une liste de dictionnaires nommée itemBank, chaque dictionnaire représentant les données d’une ligne d’une table. Pour insérer ces données dans la table TABLE1, vous utilisez actuellement une méthode laborieuse qui consiste à exécuter des requêtes SQL distinctes pour chaque ligne.
Pour optimiser ce processus, explorons comment utiliserexemany. La première étape consiste à restructurer itemBank en une liste de tuples. Chaque tuple contiendra les valeurs que vous souhaitez insérer dans la base de données, extraites des dictionnaires correspondants.
itemBank = [] for row in rows: itemBank.append(( tempRow2['Item_Name'], tempRow1['Item_Price'], tempRow3['Item_In_Stock'], tempRow4['Item_Max'], getTimeExtra ))
Ensuite, construisez un modèle de requête SQL (q) qui définit les colonnes de la table et les espaces réservés pour les valeurs à être insérés.
q = """ insert ignore into TABLE1 ( Item_Name, Item_Price, Item_In_Stock, Item_Max, Observation_Date ) values (%s,%s,%s,%s,%s) """
Enfin, utilisez la méthodeexecutemany pour exécuter la requête avec la liste des tuples (itemBank) comme paramètre.
try: x.executemany(q, itemBank) conn.commit() except: conn.rollback()
Cette approche réduit considérablement le nombre de Requêtes SQL exécutées, améliorant ainsi l'efficacité du processus d'insertion de données.
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!