sql查询中的python列表作为参数

我有一个python列表" title="python列表">python列表,说我

l = [1,5,8]

我想编写一个SQL查询来获取列表中所有元素的数据,例如

select name from students where id = |IN THE LIST l|

我该如何完成?

回答:

到目前为止,答案一直是将这些值模板化为纯SQL字符串。这对于整数绝对没问题,但是如果我们想对字符串执行此操作,则会遇到转义问题。

这是一个使用参数化查询的变体,它对两个都适用:

placeholder= '?' # For SQLite. See DBAPI paramstyle.

placeholders= ', '.join(placeholder for unused in l)

query= 'SELECT name FROM students WHERE id IN (%s)' % placeholders

cursor.execute(query, l)

以上是 sql查询中的python列表作为参数 的全部内容, 来源链接: utcz.com/qa/426900.html

回到顶部