python3如何讀寫mysql數(shù)據(jù)庫?都有哪些方式呢?
網(wǎng)友解答: 這里簡單總結一下,有3種方式,一種是原生的pymysql,一種是ORM框架SQLAlchemy,一種是pandas,這3種方法操作mysql數(shù)據(jù)庫都很簡單,下面我結合相關實例
這里簡單總結一下,有3種方式,一種是原生的pymysql,一種是ORM框架SQLAlchemy,一種是pandas,這3種方法操作mysql數(shù)據(jù)庫都很簡單,下面我結合相關實例介紹一下實現(xiàn)過程,實驗環(huán)境win10+python3.6+pycharm5.0,主要內容如下:
為了更好地說明問題,我這里新建了一個student數(shù)據(jù)表,主要內容如下,包含6個字段信息:
pymysql:這個是原生的專門用于操作mysql數(shù)據(jù)的一個庫,是最基本的方式,使用簡單,方便快捷,下面我簡單介紹一下這個庫:1.安裝pymysql,這個直接在cmd窗口輸入命令“pip install pymysql”就行,如下:
2.安裝成功后,我們就可以進行正常的測試了,主要代碼及截圖如下:
查詢mysql數(shù)據(jù)庫,代碼很簡單,設置一下對應的host,user,passwd,db,chartset就行:
程序運行截圖如下,成功獲取數(shù)據(jù):
更新數(shù)據(jù)庫(包括更新、插入和刪除操作,只要sql語句不同就行),代碼與上面類似,唯一的區(qū)別就是,更新后需要commit提交一下數(shù)據(jù)庫,不然數(shù)據(jù)庫不會發(fā)生改變:
程序運行截圖如下,已經(jīng)成功插入數(shù)據(jù):
SQLAlchemy:這是一個ORM框架,對象關系映射模型,支持MySQL,SQL Server,Oracle等主流關系型數(shù)據(jù)庫,基于pymysql庫,封裝了大量的內置函數(shù),可以直接對數(shù)據(jù)庫進行增刪改查操作,使用起來非常方便,下面我簡單介紹一下這個庫:1.安裝SQLAlchemy,這個與上面類似,直接在cmd窗口輸入命令“pip install sqlalchemy”就行,如下:
2.安裝完成后,我們就可以來操作mysql數(shù)據(jù)了,主要代碼及截圖如下:
首先,連接數(shù)據(jù)庫,這個與上面類似,需要指定用戶名,密碼等,創(chuàng)建session會話和base基類:
定義Student類,對應student數(shù)據(jù)表,這個根據(jù)字段信息直接定義就行:
查詢數(shù)據(jù),主要代碼如下:
程序運行截圖:
插入數(shù)據(jù),需要commit提交,代碼如下:程序運行截圖,已成功插入數(shù)據(jù):
更新數(shù)據(jù),需要commit提交,代碼如下:程序截圖如下,已成功修改數(shù)據(jù):
刪除數(shù)據(jù),需要commit提交,代碼如下:已刪除數(shù)據(jù):
pandas:這是一個專門用于數(shù)據(jù)處理的庫,可以快速處理csv,excel等數(shù)據(jù),當然,也可以快速的讀取和插入mysql數(shù)據(jù)庫(需要結合sqlalchemy一起使用),下面我簡單介紹一下這個庫的使用:1.安裝pandas,這個直接在cmd窗口輸入命令“pip install pandas”就行,如下:
2.查詢數(shù)據(jù),主要代碼如下,很簡單,主要用到read_sql_query這個函數(shù):
程序運行截圖如下,已經(jīng)成功查詢到結果:
3.插入數(shù)據(jù)表,這個直接構建DataFrame對象,調用to_sql函數(shù)就行,如下:
插入到新表的數(shù)據(jù):
至此,我們就完成了mysql數(shù)據(jù)的增刪改查??偟膩碚f,這3種方法使用起來都非常方便,只要你有一定的python和mysql基礎,熟悉一下相關示例和代碼,很快就能掌握的,網(wǎng)上相關教程和資料也很多,感興趣的可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言。
網(wǎng)友解答:當然是通過pymysql包建立數(shù)據(jù)庫連接,為加強多線程并行讀寫數(shù)據(jù)庫性能,還必須使用DButiles包建立數(shù)據(jù)庫連接池