从键值对自动生成Python中的INSERT查询
我该如何从一个Python字典自动生成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'])
但是有没有办法根据第一部分指定的键值对自动生成插入语句呢?这样的话,添加更多的键就会简单很多。
1 个回答
3
只要表格中的字段和@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 + ");"