python指令碼實現批量更新資料庫中字段值

2021-08-13 06:31:35 字數 1074 閱讀 1675

· 目標:實現批量更新資料庫表中的某個欄位的值,並且每一條資料中該字段的值是不同的

·解決步驟

首先安裝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 的成績,成為寫入健力士世界紀錄大全的 世界...