Python寫入MySQL數據庫的方式有哪些

蝸牛 互聯網技術資訊 2022-07-02 65 0

這篇文章主要介紹了Python寫入MySQL數據庫的方式有哪些的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Python寫入MySQL數據庫的方式有哪些文章都會有所收獲,下面我們一起來看看吧。

場景一:數據不需要頻繁的寫入mysql

使用 navicat 工具的導入向導功能。支持多種文件格式,可以根據文件的字段自動建表,也可以在已有表中插入數據,非??旖莘奖?。

Python寫入MySQL數據庫的方式有哪些  python 第1張

Python寫入MySQL數據庫的方式有哪些  python 第2張

場景二:數據是增量的,需要自動化并頻繁寫入mysql

測試數據:csv 格式 ,大約 1200萬行

import?pandas?as?pd
data?=?pd.read_csv('./tianchi_mobile_recommend_train_user.csv')
data.shape

打印結果

Python寫入MySQL數據庫的方式有哪些  python 第3張

方式一

python + pymysql 庫

安裝 pymysql 命令

pip?install?pymysql

代碼實現:

import?pymysql

#?數據庫連接信息
conn?=?pymysql.connect(
???????host='127.0.0.1',
???????user='root',
???????passwd='wangyuqing',
???????db='test01',?
???????port?=?3306,
???????charset="utf8")

#?分塊處理
big_size?=?100000
#?分塊遍歷寫入到?mysql????
with?pd.read_csv('./tianchi_mobile_recommend_train_user.csv',chunksize=big_size)?as?reader:

????for?df?in?reader:

????????datas?=?[]
????????print('處理:',len(df))
#?????????print(df)
????????for?i?,j?in?df.iterrows():
????????????data?=?(j['user_id'],j['item_id'],j['behavior_type'],
????????????????????j['item_category'],j['time'])
????????????datas.append(data)
????????_values?=?",".join(['%s',?]?*?5)
????????sql?=?"""insert?into?users(user_id,item_id,behavior_type
????????,item_category,time)?values(%s)"""?%?_values
????????cursor?=?conn.cursor()
????????cursor.executemany(sql,datas)
????????conn.commit()
?#?關閉服務??????
conn.close()
cursor.close()
print('存入成功!')

Python寫入MySQL數據庫的方式有哪些  python 第4張

方式二

pandas + sqlalchemy:pandas需要引入sqlalchemy來支持sql,在sqlalchemy的支持下,它可以實現所有常見數據庫類型的查詢、更新等操作。

代碼實現:

from?sqlalchemy?import?create_engine
engine?=?create_engine('mysql+pymysql://root:wangyuqing@localhost:3306/test01')
data?=?pd.read_csv('./tianchi_mobile_recommend_train_user.csv')
data.to_sql('user02',engine,chunksize=100000,index=None)
print('存入成功!')

Python寫入MySQL數據庫的方式有哪些  python 第5張

關于“Python寫入MySQL數據庫的方式有哪些”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Python寫入MySQL數據庫的方式有哪些”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注蝸牛博客行業資訊頻道。

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:niceseo99@gmail.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

評論

日本韩欧美一级A片在线观看