首页 >数据库 >mysql教程 >如何在 Python 中使用 MySQL 高效执行准备好的语句?

如何在 Python 中使用 MySQL 高效执行准备好的语句?

Barbara Streisand
Barbara Streisand原创
2024-11-06 12:44:02977浏览

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

在 Python 中使用 MySQL 的预准备语句

开发 Python 代码时,通常需要使用预准备语句与 SQL 数据库进行交互。这可以实现更高的执行效率并防止 SQL 注入攻击。

在您的代码中,尝试直接使用“PREPARE”和“EXECUTE”语句时遇到语法错误。这是因为 Python 没有自己的预准备语句机制,您应该使用 MySQLdb 库的功能。

更正后的代码应如下所示:

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

或者,您可以使用游标对象的execute_many()方法一次插入多行:

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

这将显着提高性能,特别是对于大型数据集。

以上是如何在 Python 中使用 MySQL 高效执行准备好的语句?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn