pymysql的使用(笔记)
生活随笔
收集整理的這篇文章主要介紹了
pymysql的使用(笔记)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
pymysql的使用(筆記)
首先,連接數(shù)據(jù)庫:
import pymysqldef conn_db(): # 連接數(shù)據(jù)庫函數(shù)conn = pymysql.connect(host='localhost',user='root',passwd='root',db='swjtu_z16',charset='utf8mb4')cur = conn.cursor()return conn,curdef exe_update(cur, sql): # 更新語句,可執(zhí)行update,insert語句sta = cur.execute(sql)return sta# def exe_delete(cur, ids): # 刪除語句,可批量刪除 # for eachID in ids.split(' '): # sta = cur.execute('delete from cms where id =%d' % int(eachID)) # return stadef exe_query(cur, sql): # 查詢語句cur.execute(sql)return curdef exe_commit(cur):cur.connection.commit() # 執(zhí)行commit操作,插入語句才能生效def conn_close(conn, cur): # 關(guān)閉所有連接cur.close()conn.close()查詢
# 調(diào)用連接數(shù)據(jù)庫的函數(shù) conn, cur = condb.conn_db() sql_query = "select * from bridge_preprocessing_params" params = defaultdict(str)try:sta = condb.exe_query(cur,sql_query)results = sta.fetchall()for row in results:name = row[0]param1 = row[1]param2 = row[2]param3 = row[3]params[name] = (param1,param2,param3)condb.exe_commit(cur) except Exception as e:print(e) finally:condb.conn_close(conn, cur)另一種寫法(無封裝):(參考)
import pymysql #導(dǎo)入 pymysql#打開數(shù)據(jù)庫連接 db= pymysql.connect(host="localhost",user="root",password="123456",db="test",port=3307)# 使用cursor()方法獲取操作游標(biāo) cur = db.cursor()#1.查詢操作 # 編寫sql 查詢語句 user 對應(yīng)我的表名 sql = "select * from user" try:cur.execute(sql) #執(zhí)行sql語句results = cur.fetchall() #獲取查詢的所有記錄print("id","name","password")#遍歷結(jié)果for row in results :id = row[0]name = row[1]password = row[2]print(id,name,password) except Exception as e:raise e finally:db.close() #關(guān)閉連接插入(參考)
import pymysql #2.插入操作 db= pymysql.connect(host="localhost",user="root",password="123456",db="test",port=3307)# 使用cursor()方法獲取操作游標(biāo) cur = db.cursor()sql_insert ="insert into user(id,username,password) values(4,'liu','1234')"try:cur.execute(sql_insert)#提交db.commit() except Exception as e:#錯誤回滾db.rollback() finally:db.close()更新
def updateFunctions(denosing,outliers,standard):sql_update = "update bridge_preprocessing set denosing = '%s',outliers = '%s',standard = '%s' where id = '%s'"# 調(diào)用連接數(shù)據(jù)庫的函數(shù)conn, cur = condb.conn_db()sta = condb.exe_update(cur, sql_update % (denosing, outliers, standard, "1"))condb.exe_commit(cur)condb.conn_close(conn, cur)return sta另一種寫法(無封裝):(參考)
import pymysql #3.更新操作 db= pymysql.connect(host="localhost",user="root",password="123456",db="test",port=3307)# 使用cursor()方法獲取操作游標(biāo) cur = db.cursor()sql_update ="update user set username = '%s' where id = %d"try:cur.execute(sql_update % ("xiongda",3)) #像sql語句傳遞參數(shù)#提交db.commit() except Exception as e:#錯誤回滾db.rollback() finally:db.close()刪除
import pymysql #4.刪除操作 db= pymysql.connect(host="localhost",user="root",password="123456",db="test",port=3307)# 使用cursor()方法獲取操作游標(biāo) cur = db.cursor()sql_delete ="delete from user where id = %d"try:cur.execute(sql_delete % (3)) #像sql語句傳遞參數(shù)#提交db.commit() except Exception as e:#錯誤回滾db.rollback() finally:db.close()【參考】https://blog.csdn.net/qq_37176126/article/details/72824106
總結(jié)
以上是生活随笔為你收集整理的pymysql的使用(笔记)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Java线程池读取数据库中数据(学习
- 下一篇: 记录mysql中的隐患特性