”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在 Python 中安全地创建带有列表的 MySQL IN 子句?

如何在 Python 中安全地创建带有列表的 MySQL IN 子句?

发布于2024-12-23
浏览:237

How to Safely Create MySQL IN Clauses with Lists in Python?

使用列表创建安全的 MySQL IN 子句

使用 MySQL 数据库和 Python 时,内爆列表以在IN 子句。但是,安全地执行此操作对于防止 SQL 注入漏洞至关重要。

与其手动构造包含值列表的字符串,首选方法是使用查询参数机制。这允许您将列表直接传递到数据库驱动程序,而无需处理任何引用或转义。

以下是实现此目的的方法:

format_strings = ','.join(['%s'] * len(list_of_ids))
cursor.execute("DELETE FROM foo.bar WHERE baz IN ("   format_strings   ")", tuple(list_of_ids))

通过使用这种方法,可以让 MySQL 处理参数化的语句,从而避免 SQL 注入询问。数据将直接插入查询中,无需任何预处理,保证安全性和效率。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3