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

标签 python sql

我有一个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)

关于python - sql查询中的python列表作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59054726/

相关文章:

python - 统一洗牌 5 GB 的 numpy 数据

python :嵌套

mysql - 在 Rails 应用程序中查找和显示关系模型中的记录列表时遇到问题

mysql - 请帮助我理解 SQL 中的这个查询

php - Mysql/PHP 在一个查询中选择 Table1 或 Table2 中存在的行

python - 在 python 中使用 xpath 查询从具有子节点的以下节点中选择整个文本

python - libpythonX.X 中包含的符号如何链接到 numpy 扩展动态库?

python - 美丽汤 "maximum recursion depth exceeded while calling a Python object"

sql - 如何避免数据库中的读锁?

php - 在 MySQL 中输入海量数据