Maison > base de données > tutoriel mysql > le corps du texte

Comment puis-je exécuter efficacement des instructions préparées avec MySQL en Python ?

Barbara Streisand
Libérer: 2024-11-06 12:44:02
original
921 Les gens l'ont consulté

How can I efficiently execute prepared statements with MySQL in Python?

Utilisation d'instructions préparées avec MySQL en Python

Lors du développement de code Python, il est souvent nécessaire d'interagir avec des bases de données SQL à l'aide d'instructions préparées. Cela permet une protection contre les attaques par injection SQL.

Dans votre code, vous rencontrez une erreur de syntaxe lorsque vous essayez d'utiliser directement les instructions "PREPARE" et "EXECUTE". En effet, Python ne dispose pas de son propre mécanisme pour les instructions préparées et vous devez plutôt utiliser les capacités de la bibliothèque MySQLdb.

Le code corrigé devrait ressembler à ceci :

sql = ('INSERT INTO {} (date, time, tag, power) VALUES '
       '(%s, %s, %s, %s)'.format(self.db_scan_table))

for (d, t, tag, power) in <your loop>:
    self.cursor.execute(sql, (d, t, tag, power))
Copier après la connexion

Alternativement, vous pouvez utiliser la méthode execute_many() de l'objet curseur pour insérer plusieurs lignes à la fois :

data = [(d, t, tag, power) for <your loop>]
self.cursor.executemany(sql, data)
Copier après la connexion

Cela améliorera considérablement les performances, en particulier pour les grands ensembles 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!

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