亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

使用python連接mysql數據庫之pymysql模塊的使用

2020-01-18 20:43:02
字體:
來源:轉載
供稿:網友

安裝pymysql

pip install pymysql

2|0使用pymysql

2|1使用數據查詢語句

查詢一條數據fetchone()

from pymysql import *conn = connect(  host='127.0.0.1',  port=3306, user='root',  password='123456',  database='itcast',  charset='utf8')# 創建游標c = conn.cursor()# 執行sql語句c.execute("select * from student")# 查詢一行數據result = c.fetchone()print(result)# 關閉游標c.close()# 關閉數據庫連接conn.close()"""(1, '張三', 18, b'/x01')"""

查詢多條數據fetchall()

from pymysql import *conn = connect(  host='127.0.0.1',  port=3306, user='root',  password='123456',  database='itcast',  charset='utf8')# 創建游標c = conn.cursor()# 執行sql語句c.execute("select * from student")# 查詢多行數據result = c.fetchall()for item in result:  print(item)# 關閉游標c.close()# 關閉數據庫連接conn.close()"""(1, '張三', 18, b'/x01')(2, '李四', 19, b'/x00')(3, '王五', 20, b'/x01')"""

更改游標的默認設置,返回值為字典

from pymysql import *conn = connect(  host='127.0.0.1',  port=3306, user='root',  password='123456',  database='itcast',  charset='utf8')# 創建游標,操作設置為字典類型c = conn.cursor(cursors.DictCursor)# 執行sql語句c.execute("select * from student")# 查詢多行數據result = c.fetchall()for item in result:  print(item)# 關閉游標c.close()# 關閉數據庫連接conn.close()"""{'id': 1, 'name': '張三', 'age': 18, 'sex': b'/x01'}{'id': 2, 'name': '李四', 'age': 19, 'sex': b'/x00'}{'id': 3, 'name': '王五', 'age': 20, 'sex': b'/x01'}"""

返回一條數據時也是一樣的。返回字典或者時元組看個人需要。

2|2使用數據操作語句

執行增加、刪除、更新語句的操作其實是一樣的。只寫一個作為示范。

from pymysql import *conn = connect(  host='127.0.0.1',  port=3306, user='root',  password='123456',  database='itcast',  charset='utf8')# 創建游標c = conn.cursor()# 執行sql語句c.execute("insert into student(name,age,sex) values (%s,%s,%s)",("小二",28,1))# 提交事務conn.commit()# 關閉游標c.close()# 關閉數據庫連接conn.close()

和查詢語句不同的是必須使用commit()提交事務,否則操作就是無效的。

3|0編寫數據庫連接類

普通版

MysqlHelper.py

from pymysql import connect,cursorsclass MysqlHelper:  def __init__(self,         host="127.0.0.1",         user="root",         password="123456",         database="itcast",         charset='utf8',         port=3306):    self.host = host    self.port = port    self.user = user    self.password = password    self.database = database    self.charset = charset    self._conn = None    self._cursor = None  def _open(self):    # print("連接已打開")    self._conn = connect(host=self.host,               port=self.port,               user=self.user,               password=self.password,               database=self.database,               charset=self.charset)    self._cursor = self._conn.cursor(cursors.DictCursor)  def _close(self):    # print("連接已關閉")    self._cursor.close()    self._conn.close()  def one(self, sql, params=None):    result: tuple = None    try:      self._open()      self._cursor.execute(sql, params)      result = self._cursor.fetchone()    except Exception as e:      print(e)    finally:      self._close()    return result  def all(self, sql, params=None):    result: tuple = None    try:      self._open()      self._cursor.execute(sql, params)      result = self._cursor.fetchall()    except Exception as e:      print(e)    finally:      self._close()    return result  def exe(self, sql, params=None):    try:      self._open()      self._cursor.execute(sql, params)      self._conn.commit()    except Exception as e:      print(e)    finally:      self._close()

該類封裝了fetchone、fetchall、execute,省去了數據庫連接的打開和關閉和游標的打開和關閉。
下面的代碼是調用該類的小示例:

from MysqlHelper import *mysqlhelper = MysqlHelper()ret = mysqlhelper.all("select * from student")for item in ret:  print(item)"""{'id': 1, 'name': '張三', 'age': 18, 'sex': b'/x01'}{'id': 2, 'name': '李四', 'age': 19, 'sex': b'/x00'}{'id': 3, 'name': '王五', 'age': 20, 'sex': b'/x01'}{'id': 5, 'name': '小二', 'age': 28, 'sex': b'/x01'}{'id': 6, 'name': '娃哈哈', 'age': 28, 'sex': b'/x01'}{'id': 7, 'name': '娃哈哈', 'age': 28, 'sex': b'/x01'}"""上下文管理器版mysql_with.pyfrom pymysql import connect, cursorsclass DB:  def __init__(self,         host='localhost',         port=3306,         db='itcast',         user='root',         passwd='123456',         charset='utf8'):    # 建立連接    self.conn = connect(      host=host,      port=port,      db=db,      user=user,      passwd=passwd,      charset=charset)    # 創建游標,操作設置為字典類型    self.cur = self.conn.cursor(cursor=cursors.DictCursor)  def __enter__(self):    # 返回游標    return self.cur  def __exit__(self, exc_type, exc_val, exc_tb):    # 提交數據庫并執行    self.conn.commit()    # 關閉游標    self.cur.close()    # 關閉數據庫連接    self.conn.close()

如何使用:

from mysql_with import DBwith DB() as db:  db.execute("select * from student")  ret = db.fetchone()  print(ret)"""{'id': 1, 'name': '張三', 'age': 18, 'sex': b'/x01'}"""

總結

以上所述是小編給大家介紹的使用python連接mysql數據庫之pymysql模塊的使用,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美三级在线| 亚洲国产成人精品久久| 91国内在线视频| 青青草原一区二区| 国产精品v片在线观看不卡| 亚洲成avwww人| 亚洲综合小说区| 亚洲尤物视频网| 亚洲欧美综合图区| 91国产精品电影| 欧美一乱一性一交一视频| 欧美性猛交xxxx乱大交| 亚洲嫩模很污视频| 这里只有精品视频| 亚洲性av网站| 国产精品一二区| 午夜精品视频网站| 精品二区三区线观看| 亚洲精品成人久久电影| 国产美女91呻吟求| 亚洲日韩欧美视频一区| 粉嫩老牛aⅴ一区二区三区| 国产成人久久久精品一区| 国产精品日韩一区| 久久香蕉国产线看观看av| 亚洲在线一区二区| 欧美自拍视频在线| 黄色一区二区在线观看| 欧美极品xxxx| 97在线视频观看| 欧美日韩在线免费| 国产盗摄xxxx视频xxx69| 国产精品久久久久久五月尺| 国产欧美日韩最新| 色综合久久88色综合天天看泰| 成人国产精品一区二区| 26uuu亚洲伊人春色| 欧美激情欧美激情在线五月| 国产精品99蜜臀久久不卡二区| 最近更新的2019中文字幕| 91久久久久久久久久久| 亚洲新声在线观看| 国产欧美最新羞羞视频在线观看| 亚洲qvod图片区电影| 亚洲深夜福利在线| 国产一区二区三区直播精品电影| 国产福利视频一区二区| 97在线视频免费观看| 亚洲成人动漫在线播放| 爽爽爽爽爽爽爽成人免费观看| 欧美电影在线播放| 亚洲视频免费一区| 日韩中文字幕亚洲| 日韩久久精品成人| 国产精品黄页免费高清在线观看| 亚洲成人精品久久| 久久久久国产视频| 久久久伊人日本| 欧美日韩人人澡狠狠躁视频| 欧美理论电影网| 亚洲视频一区二区| 亚洲桃花岛网站| 日韩在线观看免费高清| 久久久久久久久国产精品| 永久免费精品影视网站| 午夜精品免费视频| 欧美性xxxxxxxxx| 日本中文字幕成人| 亚洲国产精品高清久久久| 久久久精品一区二区三区| 欧美激情视频在线观看| 欧美日本高清视频| 久久视频免费观看| 精品一区电影国产| 久久精品中文字幕免费mv| 91久热免费在线视频| 欲色天天网综合久久| 日韩精品福利在线| 91av视频在线免费观看| 日韩精品免费看| 人妖精品videosex性欧美| 国产亚洲欧美视频| 国产精品视频男人的天堂| 亚洲精品综合久久中文字幕| 日韩在线视频线视频免费网站| 亚洲第一综合天堂另类专| 欧美中文字幕视频| 91亚洲人电影| 中文国产成人精品| 欧美丝袜美女中出在线| 欧美性猛交xxxx免费看久久久| 在线播放精品一区二区三区| 黑人与娇小精品av专区| 欧美黑人xxxⅹ高潮交| 国产午夜精品一区理论片飘花| 国产日韩精品在线播放| 成人欧美在线视频| 欧美色视频日本高清在线观看| 91免费在线视频网站| 久久久久久伊人| 国产精品久久久av| 欧美精品videossex88| 色青青草原桃花久久综合| 影音先锋欧美在线资源| 久久久久久久久久久久久久久久久久av| 久久99亚洲精品| 亚洲精品网站在线播放gif| 国产中文日韩欧美| 欧美激情成人在线视频| 亚洲伦理中文字幕| 中文字幕亚洲图片| 在线日韩中文字幕| 国产日韩欧美91| 亚洲人成网站999久久久综合| 中文字幕一区日韩电影| 大胆人体色综合| 亚洲精品日韩av| 中文字幕在线看视频国产欧美在线看完整| 精品久久久久久久久久久久久| 久久精品国产精品| 亚洲久久久久久久久久久| 欧美精品手机在线| 精品亚洲男同gayvideo网站| 欧美视频中文字幕在线| 久久久久久久久久久国产| 国产精品极品美女粉嫩高清在线| 国产精品第3页| 国产精品久久久久久久久久久久久| 国产一区二区三区丝袜| 日本成人激情视频| 国内精品视频久久| 国产精品∨欧美精品v日韩精品| 亚洲成人教育av| 国产日韩精品综合网站| 日韩中文字幕免费视频| 久久久av电影| 久久久噜噜噜久久中文字免| 欧美激情性做爰免费视频| 九九视频这里只有精品| 国内精品久久久久久久久| 亚洲xxxxx性| 欧美自拍视频在线| 91精品国产免费久久久久久| 国产欧美一区二区三区在线看| 日韩成人在线网站| 国产精品人成电影在线观看| 色小说视频一区| 精品国产鲁一鲁一区二区张丽| 亚洲无线码在线一区观看| 欧美综合第一页| 日韩美女主播视频| 国产欧美婷婷中文| 国产香蕉一区二区三区在线视频| 国内成人精品视频| 日本欧美一级片| 久久99视频免费| 亚洲日韩中文字幕在线播放| 日韩av一区二区在线| 亚洲japanese制服美女| 日韩免费在线免费观看| 久久精品成人一区二区三区| 红桃视频成人在线观看| 亚洲三级av在线| 久久精品青青大伊人av|