· 目標:實現批量更新資料庫表中的某個欄位的值,並且每一條資料中該字段的值是不同的
·解決步驟
首先安裝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() # 關閉資料庫
· 總結:**很短,但快速的實現了我想要的目標。也對用python語言操作mysql資料庫有了了解,以後再遇到類似的問題應該可以很快解決。 python批量造數指令碼
coding utf8 from pymysql import connect,cursors from pymysql.err import operationalerror import sys,time class database 類名和模組名一致,robot匯入時不用寫類名 def ini...
python指令碼實現批量遠端部署主機
本指令碼通過填寫位置引數來實現批量部署遠端主機的功能,位置引數1填寫主機ip列表,位置引數2填寫執行命令 執行命令寫在 內 root bin python import paramiko import sys import getpass import threading defrcmd host,...
python 批量改名指令碼
第66屆艾美獎上,絕命毒師 一舉拿下了劇情類最佳劇集 最佳男主 最佳男女配角和最佳劇本5項重要大獎,成為艾美獎最大的贏家。這部歷時六年,共62集的劇集憑藉metacritic metacritic的評分是收錄各 的評分,並綜合得出的評分 99分 滿分100 的成績,成為寫入健力士世界紀錄大全的 世界...