簡介
雖然Python有很多連接mysql的庫,比如mysqldb, pymysql~這些都很方便,現在就教大家使用mysql的官方庫來操作mysql.
安裝
windows: 下載鏈接
選擇自己的windows版本和Python版本,下載msi文件后雙擊安裝即可。
(如果在網站沒找到msi版本的話,試下pip install mysql-connector-python)
mac os:
在終端運行:
pip3 install mysql-connector-python
使用
在寫文章的時候,特意去看了一下官方給的參數配置,看到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)