Python使用Mysql官方驅動(取出dict類型的數據)


簡介

雖然Python有很多連接mysql的庫,比如mysqldb, pymysql~這些都很方便,現在就教大家使用mysql的官方庫來操作mysql.

安裝

windows: 下載鏈接

image.png

選擇自己的windows版本和Python版本,下載msi文件后雙擊安裝即可。
(如果在網站沒找到msi版本的話,試下pip install mysql-connector-python)

mac os:

在終端運行:
pip3 install mysql-connector-python

image.png

使用

在寫文章的時候,特意去看了一下官方給的參數配置,看到passwd和password這種參數都能識別,因為官方為別的mysql庫做了兼容,贊一個~~
接下來就展示demo了,不過沒有做封裝處理哦~

import mysql.connector as mysql

# 連接數據庫, 此處可指定dbname, 但是因為需要關聯到其他庫的表,所以未填
conn = mysql.connect(host="127.0.0.1", port=3306, user="root", passwd="your_pwd")

# 獲取游標
cursor = conn.cursor()    

# 查詢, 例如查詢logistics.users表的所有信息
sql = "select * from users;"
cursor.execute(sql)
# 取出該查詢語句返回的所有結果, 也有fetchone和fetchmany方法
cursor.fetchall() 

# 刪除
sql = "delete from logistics.users where username=%s" 
cursor.execute(sql, params=("woody", ))      # params參數為一個元祖, %s用於接收此參數
cursor.commit()      # 增刪改此種操作之后需要commit

# 關閉連接
cursor.close()
conn.close()


最近的小發現

因為需要比對redis里存儲的json數據是否與sql數據一致,但是由於sql取出的數據是元祖類型,而且沒有對應的字段名,所以很是頭疼。

解決辦法:

獲取游標的時候添加一個參數!!!

cursor = conn.cursor(dictionary=True)

效果圖

image.png


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM