Heim  >  Artikel  >  Datenbank  >  Wie kann ich vorbereitete Anweisungen mit MySQL in Python effizient ausführen?

Wie kann ich vorbereitete Anweisungen mit MySQL in Python effizient ausführen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-06 12:44:02865Durchsuche

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

Vorbereitete Anweisungen mit MySQL in Python verwenden

Bei der Entwicklung von Python-Code ist es häufig erforderlich, mit SQL-Datenbanken mithilfe vorbereiteter Anweisungen zu interagieren. Dies ermöglicht einen schnellen Zugriff und Schutz vor SQL-Injection-Angriffen.

In Ihrem Code tritt ein Syntaxfehler auf, wenn Sie versuchen, die Anweisungen „PREPARE“ und „EXECUTE“ direkt zu verwenden. Dies liegt daran, dass Python über keinen eigenen Mechanismus für vorbereitete Anweisungen verfügt und Sie stattdessen die Funktionen der MySQLdb-Bibliothek nutzen sollten.

Der korrigierte Code sollte so aussehen:

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

Alternativ: Sie können die Methodeexecute_many() des Cursorobjekts verwenden, um mehrere Zeilen gleichzeitig einzufügen:

data = [(d, t, tag, power) for <your loop>]
self.cursor.executemany(sql, data)

Dies wird die Leistung erheblich verbessern, insbesondere bei großen Datensätzen.

Das obige ist der detaillierte Inhalt vonWie kann ich vorbereitete Anweisungen mit MySQL in Python effizient ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn