基礎類封裝 pymysql庫操作mysql封裝

2022-07-30 03:51:15 字數 2289 閱讀 2629

1

import

pymysql

2from lib.logger import

logger

3from warnings import

filterwarnings

4 filterwarnings("

ignore

",category=pymysql.warning) # 忽略mysql警告資訊56

class

mysqldb():

78 logger =logger910

def__init__

(self, host, port, user, passwd):11#

建立資料庫連線

12 self.conn =pymysql.connect(

13 host=host,

14 port=port,

15 user=user,

16 passwd=passwd,

17 charset='

utf8'18

)19#通過 cursor() 建立游標物件,並讓查詢結果以字典格式輸出

20 self.cur = self.conn.cursor(cursor=pymysql.cursors.dictcursor)

2122

def__del__(self): #

物件資源被釋放時觸發,在物件即將被刪除時的最後操作23#

關閉游標

24self.cur.close()25#

關閉資料庫連線

26self.conn.close()

2728

defselect_db(self,db_name):

29"""

30選擇資料庫

31:return:

32"""

33try:34

self.conn.select_db(db_name)

35 self.logger.logger.info("

選擇 執行成功

".format(db_name))

36except

exception as e:

37 self.logger.logger.exception("

操作出現錯誤:

".format(e))

3839

def query_db(self, sql,state="

all"

):40

"""41

查詢42

:param sql:sql語句

43:param state:all查詢所有,outhor查詢單條

44:return:

45"""46#

使用 execute() 執行sql

47self.logger.logger.info(sql)

48self.cur.execute(sql)

49if state == "

all":50

#使用 fetchall() 獲取查詢結果

51 data =self.cur.fetchall()

52else

:53 data =self.cur.fetchone()

54return

data

5556

defexecute_db(self, sql):

57"""

更新/插入/刪除

"""58

try:59#

使用 execute() 執行sql

60self.cur.execute(sql)61#

提交事務

62self.conn.commit()

63 self.logger.logger.info("

執行成功

".format(sql))

64except

exception as e:

65 self.logger.logger.exception("

操作出現錯誤:{}

".format(e))66#

回滾所有更改

67self.conn.rollback()

6869

if__name__ == '

__main__':

70pass

資料庫操作 pymysql 封裝處理(中級)

如下 import pymysql from pymysql.cursors import dictcursor class dbhandler object 初始化資料庫 也可以繼承 connection 這裡沒有選擇繼承 def init self,host none,連線名 port 3306...

pymysql 資料庫操作

參考文件 import pymysql dbparams conn pymysql.connect dbparams cursor conn.cursor sql select sname,sclass from student try cursor.execute sql 獲取查詢結果 data ...

基礎類封裝 瀏覽器檔案上載類庫封裝

1 usr bin env python32 coding utf 8 3 time 2020 1 7 21 384 author tang yiwei5 email 892398433 qq.com6 file uploadfile.py7 software pycharm89 10 11win3...