我需要在Python 2.7中构建一个Python脚本,对一个特定的数据库进行选择查询。由于某些原因,这个脚本必须是可重用的,但是查询必须是灵活的。
我想将查询添加到脚本加载的YAML文件中,但不知道如何让YAML知道查询的一部分将由脚本本身填充:
query : "SELECT u.username, u.email from users u
WHERE u.status='active'
AND id=" + id + "
AND u.username='" + username + ";'
虽然我的Python脚本使用了一个包含给定信息的循环:
for row in file:
id = row.id
username = row.username
dbcur.execute(QUERY['query'])
我如何以最好的方式做到这一点?我有一个在脚本内部使用查询的工作环境,但是因为我们多次需要这个脚本,并且必须记录使用情况,所以我想将查询存储在其他地方。
1条答案
按热度按时间ql3eal8s1#
使用SQL预准备语句:
然后可通过以下方式使用
dbcur
必须是通过connection.cursor(prepared=True)
创建的。如果您使用SQLAlchemy,请参阅他们的文档,其中使用了稍微不同的格式。