相关文章推荐
酷酷的毛巾  ·  RFI: MQJMS2013: ...·  4 月前    · 
粗眉毛的高山  ·  pycocotools/_mask.c:4: ...·  1 年前    · 

有时候直接操作数据库字段比较多,一个个写比较麻烦,而且如果字段名跟数据库一致,那生成为字典后,是否能直接使用字典写入数据库呢,这样会方便很多,这里简单介绍一种方法。

1. 假设数据库表有如下字段:

name,age,address,mobile,email

2. 拿到的字典数据如下:

info = {'name': 'test', 'age': 23, 'address': 'beijing', 'mobile': 13712345678, 'email': 'test@test.com'}

3. 写入数据库方法如下(${tablename}为要插入的数据库表名):

import MySQLdb
db = MySQLdb.connect(host="", user="xx", passwd="xx", db="xx", port=xx)
cursor = db.cursor()
qmarks = ', '.join(['%s'] * len(info))
columns = ', '.join(info.keys())
    qry = "Insert Into ${tablename} (%s) Values (%s);" % (columns, qmarks)
    cursor.execute(qry, info.values()) 
    db.commit()
except Exception, e:
    print(str(e))
    db.rollback