Python 任意字典生成 SQL(update 语句)

Catalog

示例

table_name = 'student'
d = {'name': 'ArYe', 'age': 15}   # 更新的字段及对应值
t = ('id', 307)  # 更新所需条件
# 自动构造update语句
sentence = 'UPDATE %s SET ' % table_name + ','.join(['%s=%r' % (k, d[k]) for k in d]) + ' WHERE %s=%r;' % (t[0], t[1])
# 打印
print(sentence)

UPDATE student SET name=’ArYe’,age=15 WHERE id=307;

详细过程

table_name = 'student'
d1 = {'name': 'ArYe', 'age': 15}   # 更新的字段及对应值
d2 = {'sex': 'girl', 'id': 307}  # 更新所需条件
# 自动构造update语句
sentence1 = 'UPDATE %s SET ' % table_name
sentence2 = ','.join(['%s=%r' % (k, d1[k]) for k in d1])
sentence3 = ' WHERE '
sentence4 = ' AND '.join(['%s=%r' % (k, d2[k]) for k in d2])
sentence5 = sentence1 + sentence2 + sentence3 + sentence4 + ';'
# 打印
print(sentence1)
print(sentence2)
print(sentence3)
print(sentence4)
print(sentence5)
打印结果
UPDATE student SET
name=’ArYe’,age=15
WHERE
sex=’girl’ and id=307
UPDATE student SET name=’ArYe’,age=15 WHERE sex=’girl’ AND id=307;

备注

应用场景
爬虫数据写入数据库
优点:
通用性好,直接复制可用,不用费脑写sql
知识补充
列表推导式
repr()
任意字典生成insert语句
知识进阶
字典写入数据库

猜你喜欢

转载自blog.csdn.net/Yellow_python/article/details/82216982
今日推荐