python调用数据库数据类型_Python使用Mysql官方驱动(取出dict类型的数据)
簡(jiǎn)介
雖然Python有很多連接mysql的庫(kù),比如mysqldb, pymysql~這些都很方便,現(xiàn)在就教大家使用mysql的官方庫(kù)來(lái)操作mysql.
安裝
windows: 下載鏈接
image.png
選擇自己的windows版本和Python版本,下載msi文件后雙擊安裝即可。
(如果在網(wǎng)站沒(méi)找到msi版本的話,試下pip install mysql-connector-python)
mac os:
在終端運(yùn)行:
pip3 install mysql-connector-python
image.png
使用
在寫(xiě)文章的時(shí)候,特意去看了一下官方給的參數(shù)配置,看到passwd和password這種參數(shù)都能識(shí)別,因?yàn)楣俜綖閯e的mysql庫(kù)做了兼容,贊一個(gè)~~
接下來(lái)就展示demo了,不過(guò)沒(méi)有做封裝處理哦~
import mysql.connector as mysql
# 連接數(shù)據(jù)庫(kù), 此處可指定dbname, 但是因?yàn)樾枰P(guān)聯(lián)到其他庫(kù)的表,所以未填
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)
# 取出該查詢語(yǔ)句返回的所有結(jié)果, 也有fetchone和fetchmany方法
cursor.fetchall()
# 刪除
sql = "delete from logistics.users where username=%s"
cursor.execute(sql, params=("woody", )) # params參數(shù)為一個(gè)元祖, %s用于接收此參數(shù)
cursor.commit() # 增刪改此種操作之后需要commit
# 關(guān)閉連接
cursor.close()
conn.close()
最近的小發(fā)現(xiàn)
因?yàn)樾枰葘?duì)redis里存儲(chǔ)的json數(shù)據(jù)是否與sql數(shù)據(jù)一致,但是由于sql取出的數(shù)據(jù)是元祖類(lèi)型,而且沒(méi)有對(duì)應(yīng)的字段名,所以很是頭疼。
解決辦法:
獲取游標(biāo)的時(shí)候添加一個(gè)參數(shù)!!!
cursor = conn.cursor(dictionary=True)
效果圖
image.png
總結(jié)
以上是生活随笔為你收集整理的python调用数据库数据类型_Python使用Mysql官方驱动(取出dict类型的数据)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 这篇文章太懂程序员了,扎心了
- 下一篇: MySQL这三道常见的面试题,你有被问过