Python中使用PyMySQL模塊的方法詳解
更新時間:2024年08月01日 09:44:45 作者:Az_plus
Python中的pymysql模塊是用于連接MySQL數據庫的一個第三方庫,它提供了一套API,使得Python程序員能夠方便地執(zhí)行SQL語句、操作數據庫,下面這篇文章主要給大家介紹了關于Python中使用PyMySQL模塊的相關資料,需要的朋友可以參考下
安裝
pip install pymysql
連接數據庫
使用connect
函數創(chuàng)建連接對象
此對象提供數據庫的關閉、事務提交、事務回滾等操作
示例:
import pymysql # 以下為必填參數 conn = pymysql.connect(user='root', # 用戶名 password='123456', # 密碼 host='127.0.0.1', # 服務器地址 port=3306, # 數據庫端口 database='emp' # 要連接的數據庫 )
connect拓展
進入connect
函數可以看到更多參數:
def __init__( self, *, user=None, # 用戶名 password="", # 密碼 host=None, # 連接地址 database=None, # 庫名 unix_socket=None, # 如果使用Unix套接字連接到數據庫,指定套接字文件的路徑 port=0, # 數據庫端口號 charset="", # 使用的字符集 MySQL中一般是utf8mb4 collation=None, # 指定排序規(guī)則 sql_mode=None, # 連接使用的SQL模式 read_default_file=None, # 指定默認連接參數的配置文件路徑 conv=None, # 自定義類型轉換器 use_unicode=True, # 是否使用Unicode編碼 client_flag=0, # 客戶端標志位 cursorclass=Cursor, # 游標類,用于處理查詢結果 init_command=None, # 建立連接后執(zhí)行的初始命令 connect_timeout=10, # 連接超時時間 read_default_group=None, # 讀取默認連接參數的組名 autocommit=False, # 是否自動提交事務 local_infile=False, # 是否允許本地加載數據文件 max_allowed_packet=16 * 1024 * 1024, # 允許的最大數據包大小 defer_connect=False,# 是否延遲連接 auth_plugin_map=None, # 指定認證插件映射 read_timeout=None, # 讀取超時時間(秒) write_timeout=None, # 寫入超時時間(秒) bind_address=None, # 綁定本地地址 binary_prefix=False,# 是否啟用二進制前綴 program_name=None, #程序名稱 server_public_key=None, # 服務器公鑰 ssl=None, # 是否使用SSL/TLS加密連接 ssl_ca=None, # 指定CA證書文件的路徑 ssl_cert=None, # 指定客戶端證書文件的路徑 ssl_disabled=None, #是否禁用SSL ssl_key=None, # 指定客戶端私鑰文件的路徑 ssl_verify_cert=None, # 是否驗證服務器證書 ssl_verify_identity=None, # 是否驗證服務器身份 compress=None, # 不支持 named_pipe=None, # 不支持 passwd=None, # 已棄用 db=None, # 已棄用 )
獲取游標
conn = pymysql.connect(user='root', # 用戶名 password='7997', # 密碼 host='127.0.0.1', # 服務器地址 port=3306, # 數據庫端口 database='emp', # 連接的數據庫 cursorclass=DictCursor # 返回字典 ) cursor = conn.cursor() # 獲取游標
操作數據
查找
import pymysql from pymysql.cursors import DictCursor conn = pymysql.connect(user='root', # 用戶名 password='7997', # 密碼 host='127.0.0.1', # 服務器地址 port=3306, # 數據庫端口 database='emp', # 連接的數據庫 cursorclass=DictCursor # 返回字典 ) cursor = conn.cursor() sql = 'select * from emp5' cursor.execute(sql) res = cursor.fetchall() print(res) # 返回一個由列表包裹的字典 # 輸出:[{'id': 1, 'name': '張三', 'time': datetime.datetime(2024, 1, 25, 15, 24, 19), 'age': 18, 'wages': 2000, 'dep_id': 203}, {'id': 2, 'name': '倪哥', 'time': datetime.datetime(2024, 1, 25, 15, 34, 11), 'age': 20, 'wages': 1000, 'dep_id': 201}]
添加
進行增刪改時注意提交事務conn.commit
import pymysql from pymysql.cursors import DictCursor conn = pymysql.connect(user='root', # 用戶名 password='7997', # 密碼 host='127.0.0.1', # 服務器地址 port=3306, # 數據庫端口 database='emp', # 連接的數據庫 cursorclass=DictCursor # 返回字典 ) cursor = conn.cursor() sql_insert = 'insert into emp5 (name) value(%s) ' # 元組形式傳參 cursor.execute(sql_insert, ("嗨嗨嗨",)) conn.commit() # 提交事務
sql_insert = 'insert into emp5 (name) value(%s) ' # 字典形式傳參 cursor.execute(sql_insert, {'emp_name': "員工二號"}) conn.commit()
添加成功~
更新
import pymysql from pymysql.cursors import DictCursor # 以下為必填參數 conn = pymysql.connect(user='root', # 用戶名 password='7997', # 密碼 host='127.0.0.1', # 服務器地址 port=3306, # 數據庫端口 database='emp', # 連接的數據庫 cursorclass=DictCursor # 返回字典 ) cursor = conn.cursor() # 列表形式傳參 sql_update = 'update emp5 set name=%s where id=%s ' cursor.execute(sql_update, ['員工三號', 11]) conn.commit()
總結
到此這篇關于Python中使用PyMySQL模塊的文章就介紹到這了,更多相關Python使用PyMySQL模塊內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python機器學習算法庫scikit-learn學習之決策樹實現方法詳解
這篇文章主要介紹了Python機器學習算法庫scikit-learn學習之決策樹實現方法,結合實例形式分析了決策樹算法的原理及使用sklearn庫實現決策樹的相關操作技巧,需要的朋友可以參考下2019-07-07如何用scheduler實現learning-rate學習率動態(tài)變化
這篇文章主要介紹了如何用scheduler實現learning-rate學習率動態(tài)變化問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09