首页 > 解决方案 > 有没有办法在没有值占位符的情况下动态输入 SQL 查询的值

问题描述

假设我在 Python 中有 sqlite3 查询:

SELECT COUNT(customerid) FROM customerDetails WHERE age BETWEEN 17 AND 24

是否有一种通过用户输入动态输入年龄占位符的方法。

这可以通过sql变量完成吗?它会像这样吗?

SELECT COUNT(customerid) FROM customerDetails WHERE age BETWEEN = ? AND = ?

标签: sqlpython-3.xsqlite

解决方案


是的。只需使用参数化查询并将占位符?的值作为元组传递给execute方法:

min = 10
max = 50
sql = "SELECT COUNT(customerid) FROM customerDetails WHERE age BETWEEN = ? AND = ?"
cursor.execute(sql, (min, max))

推荐阅读