1. 程式人生 > 其它 >python中mysql管理模組mysql-connector使用

python中mysql管理模組mysql-connector使用

一.  安裝第三方管理模組
首先安裝第三方mysql管理模組:pip install mysql-connector.如果安裝過程中出現
WARNING: You are using pip version 21.3; however, version 21.3.1 is available.
You should consider upgrading via the 'C:\Program Files\python3.9\python.exe -m pip install --upgrade pip' command.
說明pip的版本有新的了,可以升級一下,命令:python.exe -m pip install --upgrade pip
如果直接用官方的源安裝速度太慢的話可以使用清華或者阿里的源,更改方法如下:
a. 臨時使用映象源下載Python包:
以numpy為例:pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
其他映象源地址:
阿里雲:http://mirrors.aliyun.com/pypi/simple/
豆瓣:http://pypi.douban.com/simple/
b. 永久更改映象源:
在"C:\Users\使用者名稱"資料夾下,新增pip資料夾,資料夾內新建pip.ini檔案,內容為:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
安裝完成後可以,在互動式介面直接import測試看一下,匯入的模組import mysql.connector 注意是點不是橫槓。
二. 建立資料庫連線
語法:connect(host,user,passwd,database,auth_plugin = "mysql_native_password")auth_plugin為mysql密碼加密認證方式,
如果認證方式報錯,出現如下提示:
mysql Authentication plugin ‘caching_sha2_password’ is not supported問題
是因為在MySQL 8.0以後,預設的密碼加密方式是caching_sha2_password而不是mysql_native_password。
解決方法:
1.登入mysql資料庫 mysql -u root -p
2.更新身份認證方式 alter user root@localhost identified with mysql_native_password by '密碼';
3.檢視修改結果:
use mysql;
select * from user\G;
4.修改後的加密方式:
engine = create_engine(
"mysql+mysqlconnector://username:password@host:port/database?auth_plugin=mysql_native_password"
)
資料庫連線成功後,可以列印輸出mysql.connector物件的地址!
三. 資料庫的操作
A.單條插入語句;
生成一個cursor物件:(mysql.connector物件).cursor();例如:
con=mysql.connector.connect(host="mysql地址",user="使用者名稱",passwd="密碼",database="資料庫名“,auth_plugin = "mysql_native_password")
my_cursor=con.cursor()
編寫sql語句
sql="insert into 表名(欄位1,欄位2...) values (%s,%s....)" 在一個表裡新增資料,%s只是一個佔位符
val=(具體數值1,具體數值2....)
執行sql語句
my_cursor.execute(sql,val)
提交
con.commit()
print(my_cursor.rowcount(插入記錄統計),"插入記錄成功!")
B.批量插入資料;
批量插入資料操作步驟:
獲取連線物件-->獲取cursor物件-->編寫sql語句-->使用列表賦值-->呼叫executemany()執行sql語句-->提交事務 例: