使用psycopg2 / Python DB-API和PostgreSQL进行参数化查询

发布于 2021-01-29 17:04:51

使psycopg2将参数化查询传递到PostgreSQL的最佳方法是什么?我不想编写自己的维护机制或适配器,而psycopg2源代码和示例很难在Web浏览器中阅读。

如果我需要切换到PyGreSQL或其他python pg适配器之类的东西,对我来说很好。我只想要简单的参数化。

关注者
0
被浏览
142
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    psycopg2遵循DB-API
    2.0的规则(在PEP-249中设置)。这意味着您可以executecursor对象中调用方法并使用pyformat绑定样式,它将为您进行转义。例如,以下
    应该 是安全的(并且可以正常工作):

    cursor.execute("SELECT * FROM student WHERE last_name = %(lname)s", 
                   {"lname": "Robert'); DROP TABLE students;--"})
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看