如何从Python dict自动创建MySQL插入语句?
file_info['filename'] = 'image.jpg'
file_info['size'] = 1682
file_info['id'] = 'a4Fabaz125'
现在,我手动指定每个值:
query = """INSERT INTO files
(filename, size, id)
VALUES (%s, %s, %s)""",
(file_info['filename'], file_info['size'], file_info['id'])
但是有没有办法根据第一部分中指定的键值对自动生成insert语句?这样可以更轻松地添加其他密钥。
答案 0 :(得分:2)
只要与表中的字段有1:1的对应关系就像@MarcB所说:
file_info={}
file_info['filename'] = 'image.jpg'
file_info['size'] = 1682
file_info['id'] = 'a4Fabaz125'
fields = ', '.join(file_info)
values = ', '.join(str(x) for x in file_info.values())
print fields
print values
# size, id, filename
# 1682, a4Fabaz125, image.jpg
query = "INSERT INTO files (" + fields + ") VALUES (" + values + ");"