####· 目标:实现循环更新数据库表中的某个字段的值,并且每一条数据中该字段的值是不同的
·解决步骤
- 首先安装mysql支持库,对python3及以上来说,需要安装 pymysql库
方法很简单:pip install PyMySQL 即可 - 接下来就是代码实现:
需求是这样的:数据库字段需要更新的值不是一样的(可以理解为 某个文件下下面的文件名为数据库中该字段的值),因此需要获得文件夹下的所有文件名,再依次进行改值。
我这里有一个特殊的地方是,文件名和数据库中的某一个字段值是有联系的,因此我可以根据文件名来唯一确定我要更新的是哪一条数据。
具体代码如下:
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() # 关闭数据库