1、pymysql模塊安裝與引入
安裝
pip install PyMySQL
引入
import pymysql
2、數據庫的操作
下圖查找連接數據庫,源碼的方法,以及參數怎么配置的可參考
數據庫的操作步驟:
步驟1:引入pymysql模塊 import pymysql
步驟2:連接數據庫,返回連接對象 注意:charset="utf8"指定編碼方式,沒有-
con = pymysql.connect(host="127.0.0.1", user="root", port=3306, password="123456",charset="utf8")
步驟3:創建一個游標對象
cur = con.cursor()
步驟4:執行的sql語句
sql = "SELECT * FROM python.cfl_emp;"
步驟5:通過execute方法執行sql語句
res = cur.execute(sql) # 返回的是記錄條數
步驟6:獲取查詢結果
# 獲取查詢到的返回集中的第一條數據
data_fetchone = cur.fetchone()
print(f"獲取查詢到的返回集中的第一條數據,data_fetchone = cur.fetchone() \n結果:{data_fetchone}")
# 獲取查詢到的所有數據
# 返回的是一個元組嵌套元組的數據
data_fetchall = cur.fetchall()
print(f"獲取查詢到的返回集中的所有數據,data_fetchall = cur.fetchall() \n結果:{data_fetchall}")
# 引入pymysql模塊 import pymysql # 步驟1:連接數據庫,返回連接對象 # charset="utf8"指定編碼方式,沒有- con = pymysql.connect(host="127.0.0.1", user="root", port=3306, password="123456",charset="utf8") # 步驟2:創建一個游標對象 cur = con.cursor() # 步驟3:執行的sql語句 sql = "SELECT * FROM python.cfl_emp;" # 步驟4:通過execute方法執行sql語句 res = cur.execute(sql) # 返回的是記錄條數 print(res) # 步驟5:獲取查詢結果 # 獲取查詢到的返回集中的第一條數據 data_fetchone = cur.fetchone() print(f"獲取查詢到的返回集中的第一條數據,data_fetchone = cur.fetchone() \n結果:{data_fetchone}") # 獲取查詢到的所有數據 # 返回的是一個元組嵌套元組的數據 data_fetchall = cur.fetchall() print(f"獲取查詢到的返回集中的所有數據,data_fetchall = cur.fetchall() \n結果:{data_fetchall}")
注意點:pymysql模塊操作數據時,默認開啟的事務
在事務提交之前,所有對數據庫進行修改的操作都不會同步到數據庫
只有在提交事務之后,才會同步到數據
提交事務:連接對象.commit()
# 引入pymysql模塊 import pymysql # 步驟1:連接數據庫,返回連接對象 # charset="utf8"指定編碼方式,沒有- con = pymysql.connect(host="127.0.0.1", user="root", port=3306, password="123456",charset="utf8") # 步驟2:創建一個游標對象 cur = con.cursor() # 步驟3:執行的sql語句 select_sql = "select name from python.cfl_emp where id = 6;" cur.execute(select_sql) name_b = cur.fetchall() print(f"事務提交前:name為{name_b}") update_sql = "UPDATE python.cfl_emp SET name = '錢一3' WHERE id = 6;" cur.execute(update_sql) # 注意點:pymysql模塊操作數據時,默認開啟的事務 # 在事務提交之前,所有對數據庫進行修改的操作都不會同步到數據庫 # 只有在提交事務之后,才會同步到數據 # 提交事務:連接對象.commit() con.commit() cur.execute(select_sql) name_a = cur.fetchall() print(f"事務提交前:name為{name_a}")
執行結果:
3、簡單封裝數據庫的操作-查詢與增刪改操作(因為修改需要提交事務)
分為查詢和增刪改操作
增刪改操作需要連接對象.commit()
簡單封裝如下:
"" 封裝一個做作mysql數據庫的類 封裝的功能: 1、數據的查詢操作 2、增刪改操作 """ import pymysql class MysqlBD: # __init__創建對象的時候初始化操作 def __init__(self): self.con = pymysql.connect(host="127.0.0.1", user="root", port=3306, password="123456",charset="utf8") self.cur = self.con.cursor() # 數據的查詢操作 def find(self,sql): self.cur.execute(sql) datas = self.cur.fetchall() return datas # 增刪改操作 def update(self,sql): self.cur.execute(sql) self.con.commit()
if __name__ == '__main__': db = MysqlBD() select_sql = "select name from python.cfl_emp where id = 6;" res = db.find(select_sql) print(f"查詢結果:{res}") update_sql = "UPDATE python.cfl_emp SET name = '錢一1' WHERE id = 6;" res_1 = db.update(update_sql) select_sql = "select name from python.cfl_emp where id = 6;" res1 = db.find(select_sql) print(f"查詢結果:{res1}")
執行結果: