我希望动态创建一个构建查询,我可以通过参数来填充。例如。类似的东西:
INSERT INTO Table (Col1, Col2, Col3, ...) VALUES (%s, %s, %s, ...)
然后我想填充它,如图所示 How to put parameterized sql query into variable and then execute in Python?:
sql = "INSERT INTO table VALUES (%s, %s, %s)"
args= var1, var2, var3
cursor.execute(sql, args)
构建上面的查询字符串应该非常简单,但是我不确定如何构建args列表。一旦我能做到这一点,其余的应该很容易。
答案 0 :(得分:0)
看起来我的问题比我想象的要容易,看起来数组的行为就像python中的列表一样。以下内容给了我所需要的内容:
results = []
results.append("a")
results.append("b")
results.append("c")
results.append("d")
print results
我可以使用上面的内容来制作我的arg列表。
答案 1 :(得分:0)
我通常使用这样的东西来实现你描述的内容:
>>> def prepquery(qrystr, args):
... # Assumes Qry Str has a %s in it instead of column placeholders.
... return qrystr % ', '.join('?' * len(args)) # ['%s'] * len(args), depending on DB.
...
>>>
>>> prepquery('Insert Into Table Values (%s)', range(5))
'Insert Into Table Values (?, ?, ?, ?, ?)'