python脚本实现批量更新数据库中字段值

· 目标:实现批量更新数据库表中的某个字段的值,而且每一条数据中该字段的值是不一样的

·解决步骤

  1. 首先安装mysql支持库,对python3及以上来讲,须要安装 pymysql库
    方法很简单:pip install PyMySQL 便可
  2. 接下来就是代码实现:python

    需求是这样的:数据库字段须要更新的值不是同样的(能够理解为 某个文件下下面的文件名为数据库中该字段的值),所以须要得到文件夹下的全部文件名,再依次进行改值。
    我这里有一个特殊的地方是,文件名和数据库中的某一个字段值是有联系的,所以我能够根据文件名来惟一肯定我要更新的是哪一条数据。
    具体代码以下:mysql

import pymysql
import os
# 得到目录下全部的文件名
pic_name = os.listdir('../pic4')
# 得到上一层目录
path = os.path.abspath('..')
#链接数据库
db = pymysql.connect("localhost","root","password","databaseName")
#使用cursor()方法得到一个游标
cursor = db.cursor()
#循环遍历更改
for name in pic_name:
    name1 = name[:3]#根据具体需求的操做
    name2 = "MVST_"+num@根据具体需求的操做
    sql = "update databaseName set name1 = '%s' Where name2='%s';" % (name1,name2)
    try:
        cursor.execute(sql) #执行sql语句
        db.commit() #提交到数据库执行
    except:
        db.rollback() #发生错误后回滚
db.close() # 关闭数据库

· 总结:代码很短,但快速的实现了我想要的目标。也对用python语言操做mysql数据库有了了解,之后再遇到相似的问题应该能够很快解决。