首页  >  文章  >  后端开发  >  如何在 Python 中安全地创建带有列表的 MySQL IN 子句?

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

Patricia Arquette
Patricia Arquette原创
2024-11-15 05:08:02239浏览

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 注入。数据将直接插入查询中,无需任何预处理,保证安全性和效率。

以上是如何在 Python 中安全地创建带有列表的 MySQL IN 子句?的详细内容。更多信息请关注PHP中文网其他相关文章!

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