Python中使用PyMySQL模塊的方法詳解
更新時間:2024年08月01日 09:44:45 作者:Az_plus
Python中的pymysql模塊是用于連接MySQL數(shù)據(jù)庫的一個第三方庫,它提供了一套API,使得Python程序員能夠方便地執(zhí)行SQL語句、操作數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關于Python中使用PyMySQL模塊的相關資料,需要的朋友可以參考下
安裝
pip install pymysql
連接數(shù)據(jù)庫
使用connect函數(shù)創(chuàng)建連接對象
此對象提供數(shù)據(jù)庫的關閉、事務提交、事務回滾等操作
示例:
import pymysql
# 以下為必填參數(shù)
conn = pymysql.connect(user='root', # 用戶名
password='123456', # 密碼
host='127.0.0.1', # 服務器地址
port=3306, # 數(shù)據(jù)庫端口
database='emp' # 要連接的數(shù)據(jù)庫
)
connect拓展
進入connect函數(shù)可以看到更多參數(shù):
def __init__(
self,
*,
user=None, # 用戶名
password="", # 密碼
host=None, # 連接地址
database=None, # 庫名
unix_socket=None, # 如果使用Unix套接字連接到數(shù)據(jù)庫,指定套接字文件的路徑
port=0, # 數(shù)據(jù)庫端口號
charset="", # 使用的字符集 MySQL中一般是utf8mb4
collation=None, # 指定排序規(guī)則
sql_mode=None, # 連接使用的SQL模式
read_default_file=None, # 指定默認連接參數(shù)的配置文件路徑
conv=None, # 自定義類型轉(zhuǎn)換器
use_unicode=True, # 是否使用Unicode編碼
client_flag=0, # 客戶端標志位
cursorclass=Cursor, # 游標類,用于處理查詢結(jié)果
init_command=None, # 建立連接后執(zhí)行的初始命令
connect_timeout=10, # 連接超時時間
read_default_group=None, # 讀取默認連接參數(shù)的組名
autocommit=False, # 是否自動提交事務
local_infile=False, # 是否允許本地加載數(shù)據(jù)文件
max_allowed_packet=16 * 1024 * 1024, # 允許的最大數(shù)據(jù)包大小
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, # 數(shù)據(jù)庫端口
database='emp', # 連接的數(shù)據(jù)庫
cursorclass=DictCursor # 返回字典
)
cursor = conn.cursor() # 獲取游標
操作數(shù)據(jù)
查找
import pymysql
from pymysql.cursors import DictCursor
conn = pymysql.connect(user='root', # 用戶名
password='7997', # 密碼
host='127.0.0.1', # 服務器地址
port=3306, # 數(shù)據(jù)庫端口
database='emp', # 連接的數(shù)據(jù)庫
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, # 數(shù)據(jù)庫端口
database='emp', # 連接的數(shù)據(jù)庫
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
# 以下為必填參數(shù)
conn = pymysql.connect(user='root', # 用戶名
password='7997', # 密碼
host='127.0.0.1', # 服務器地址
port=3306, # 數(shù)據(jù)庫端口
database='emp', # 連接的數(shù)據(jù)庫
cursorclass=DictCursor # 返回字典
)
cursor = conn.cursor()
# 列表形式傳參
sql_update = 'update emp5 set name=%s where id=%s '
cursor.execute(sql_update, ['員工三號', 11])
conn.commit()

總結(jié)
到此這篇關于Python中使用PyMySQL模塊的文章就介紹到這了,更多相關Python使用PyMySQL模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
相關文章
基于Python編寫一個PDF清晰度增強工具全解析(附完整源碼)
在日常辦公和學習中,我們經(jīng)常會遇到掃描版PDF文件模糊不清的問題,本文將介紹一款基于Python開發(fā)的PDF智能增強工具,它能夠通過多維度圖像處理算法自動提升PDF文件的清晰度和可讀性,有需要的小伙伴可以了解下2026-03-03
Django ORM 聚合查詢和分組查詢實現(xiàn)詳解
這篇文章主要介紹了Django ORM 聚合查詢和分組查詢實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08
Python使用oslo.vmware管理ESXI虛擬機的示例參考
oslo.vmware是OpenStack通用框架中的一部分,主要用于實現(xiàn)對虛擬機的管理任務,借助oslo.vmware模塊我們可以管理Vmware ESXI集群環(huán)境。2021-06-06
Python nonlocal關鍵字的使用場景(嵌套函數(shù)中的變量使用)
本文將深入探討nonlocal關鍵字的使用場景、工作原理以及實際應用,本文結(jié)合實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2026-05-05

