使用psycopg2 / Python DB-API和PostgreSQL进行参数化查询
使psycopg2将参数化查询传递到PostgreSQL的最佳方法是什么?我不想编写自己的维护机制或适配器,而psycopg2源代码和示例很难在Web浏览器中阅读。
如果我需要切换到PyGreSQL或其他python pg适配器之类的东西,对我来说很好。我只想要简单的参数化。
-
psycopg2
遵循DB-API
2.0的规则(在PEP-249中设置)。这意味着您可以execute
从cursor
对象中调用方法并使用pyformat
绑定样式,它将为您进行转义。例如,以下
应该 是安全的(并且可以正常工作):cursor.execute("SELECT * FROM student WHERE last_name = %(lname)s", {"lname": "Robert'); DROP TABLE students;--"})