将Python字典用于SQL INSERT语句
我正在尝试使用dict
做SQL INSERT
。逻辑基本上是:
INSERT INTO table (dict.keys()) VALUES dict.values()
但是,我很难确定要执行此操作的正确语法/流程。这是我目前拥有的:
# data = {...}sorted_column_headers_list = []
sorted_column_values_list = []
for k, v in data.items():
sorted_column_headers_list.append(k)
sorted_column_values_list.append(v)
sorted_column_headers_string = ', '.join(sorted_column_headers_list)
sorted_column_values_string = ', '.join(sorted_column_values_list)
cursor.execute("""INSERT INTO title (%s)
VALUES (%s)""",
(sorted_column_headers_string, sorted_column_values_string))
由此我得到一个SQL异常(我认为与逗号包含在我所拥有的某些值中有关)。做上述事情的正确方法是什么?
回答:
您要向查询添加参数占位符。这可能会为您提供所需的东西:
qmarks = ', '.join('?' * len(myDict))qry = "Insert Into Table (%s) Values (%s)" % (qmarks, qmarks)
cursor.execute(qry, myDict.keys() + myDict.values())
以上是 将Python字典用于SQL INSERT语句 的全部内容, 来源链接: utcz.com/qa/404710.html