Maison  >  Article  >  base de données  >  Comment puis-je exécuter efficacement des instructions préparées avec MySQL en Python ?

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

Barbara Streisand
Barbara Streisandoriginal
2024-11-06 12:44:02863parcourir

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))

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)

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!

Déclaration:
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