Postgresql 格式化SQL查询

Postgresql 格式化SQL查询,postgresql,Postgresql,我正在尝试查询我的PostgreSQL数据库 我认为我的查询格式是错误的,我似乎无法让它工作,我已将我的代码发布在下面: query = cur.execute('SELECT "KINASE_NAME" FROM public."Phosphosite_table" WHERE "GENE_NAME" LIKE %(genename)s AND "RESIDUE" LIKE %(location)s') 目的是取激酶的名称,即基因的名称和位置匹配 我的错误消息如下所示: P

我正在尝试查询我的PostgreSQL数据库

我认为我的查询格式是错误的,我似乎无法让它工作,我已将我的代码发布在下面:

 query = cur.execute('SELECT "KINASE_NAME" FROM public."Phosphosite_table"
    WHERE "GENE_NAME" LIKE %(genename)s AND "RESIDUE" LIKE %(location)s')
目的是取激酶的名称,即基因的名称和位置匹配

我的错误消息如下所示:

    ProgrammingError                          Traceback (most recent call last)
<ipython-input-33-9eae43b913d6> in <module>()
     35 cur = connection.cursor()
     36 
---> 37 query = cur.execute('SELECT "KINASE_NAME" FROM public."Phosphosite_table" WHERE "GENE_NAME" LIKE%(genename)s AND "RESIDUE" LIKE %(location)s')
谢谢


Connor不使用字符串操作来生成SQL查询

genname=foo 位置=巴 当前执行选择。。。像%s和。。。例如%s、genname、位置
不得在值周围使用引号。引用将由DB API库完成。

很抱歉,只需添加一点,变量是字符串列表,如果有帮助,字符串中包含数字。请使用您正在使用的API标记您的请求。根据Lutz Horn的说法是psycopg还是psycopg2?谢谢你,Lutz,谢谢你的回答。我尝试了您发布的代码:cur.execute'SELECT KINASE_NAME FROM public.Phosphosite_table LIKE%s and LIKE%s',genename,location。并得到一个错误:ProgrammingError回溯ProgrammingError中最后一个最近的调用:语法错误,如第1行:…ECT KINSE_NAME FROM public.Phosphosite_table LIKE'[1……FROM public.Phosphosite_table WHERE GENE_NAME LIKE。。。