Heim > Datenbank > MySQL-Tutorial > 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
Freigeben: 2024-11-06 12:44:02
Original
970 Leute haben es durchsucht

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))
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage