簡介
雖然Python有很多連接mysql的庫归榕,比如mysqldb, pymysql~這些都很方便渊抽,現(xiàn)在就教大家使用mysql的官方庫來操作mysql.
安裝
windows: 下載鏈接
image.png
選擇自己的windows版本和Python版本涛菠,下載msi文件后雙擊安裝即可。
(如果在網(wǎng)站沒找到msi版本的話,試下pip install mysql-connector-python)
mac os:
在終端運行:
pip3 install mysql-connector-python
image.png
使用
在寫文章的時候,特意去看了一下官方給的參數(shù)配置,看到passwd和password這種參數(shù)都能識別谷羞,因為官方為別的mysql庫做了兼容帝火,贊一個~~
接下來就展示demo了,不過沒有做封裝處理哦~
import mysql.connector as mysql
# 連接數(shù)據(jù)庫, 此處可指定dbname, 但是因為需要關(guān)聯(lián)到其他庫的表湃缎,所以未填
conn = mysql.connect(host="127.0.0.1", port=3306, user="root", passwd="your_pwd")
# 獲取游標(biāo)
cursor = conn.cursor()
# 查詢, 例如查詢logistics.users表的所有信息
sql = "select * from users;"
cursor.execute(sql)
# 取出該查詢語句返回的所有結(jié)果, 也有fetchone和fetchmany方法
cursor.fetchall()
# 刪除
sql = "delete from logistics.users where username=%s"
cursor.execute(sql, params=("woody", )) # params參數(shù)為一個元祖, %s用于接收此參數(shù)
cursor.commit() # 增刪改此種操作之后需要commit
# 關(guān)閉連接
cursor.close()
conn.close()
最近的小發(fā)現(xiàn)
因為需要比對redis里存儲的json數(shù)據(jù)是否與sql數(shù)據(jù)一致犀填,但是由于sql取出的數(shù)據(jù)是元祖類型,而且沒有對應(yīng)的字段名嗓违,所以很是頭疼九巡。
解決辦法:
獲取游標(biāo)的時候添加一個參數(shù)!!!
cursor = conn.cursor(dictionary=True)
效果圖
image.png