繁体   English   中英

在SQL查询中使用Python列表作为列名

[英]Use Python list in SQL query for column names

我在Python列表中有一堆列名。 现在,我需要将该列表用作SELECT语句中的列名称。 我怎样才能做到这一点?

pythonlist = ['one', 'two', 'three']

SELECT pythonlist FROM data;

到目前为止,我有:

sql = '''SELECT  %s FROM data WHERE name = %s INTO OUTFILE filename'''

cur.execute(sql,(pythonlist,name))

您不能传递要选择为cur.execute的参数的列列表。 它应该是您的SQL表达式的一部分,例如:

sql = "SELECT " + ",".join(pythonlist) + " FROM data WHERE name = %s INTO OUTFILE filename"
cur.execute(sql, (name,))

要注意的一件事是,SQL中参数值的占位符取决于数据库。 如果%s不起作用,请尝试使用? :1 有关更多详细信息,请参见https://www.python.org/dev/peps/pep-0249/#paramstyle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM