Dataset 使用填坑記錄

Dataset 使用填坑記錄

Dataset被譽爲懶人數據庫(databases for lazy people),是Python操作MySQL的庫。因爲其簡單的操作,避開了繁瑣的依賴安裝和鏈接建立,能夠很快的和數據庫進行交互。但是在使用過程中,遇到了不少的坑,這篇文章旨在記錄使用過程中遇到的坑,避免下次再犯浪費時間。

連接不釋放

使用Dataset連接MySQL,連接不會主動釋放,這樣會導致表結構被鎖住,無法修改表結構,以下方法會主動釋放連接

conn = dataset.connect(
    url="mysql://dipadmin:[email protected]:6103/elk_portal?autocommit=true",
    reflect_views=False
)

UTF-8 With Unicode

當MySQL數據庫中有中文或者查詢語句中有中文時,需要注意編碼格式

  1. 當MySQL中存在中文時
conn = dataset.connect(
    url="mysql://dipadmin:[email protected]:6103/elk_portal?charset=utf8"
)

res = conn.query("select * from luwak_task")
true_sql = res.next()["true_sql"].encode("utf-8")
  1. 當Query SQL中存在中文時
conn = dataset.connect(
    url="mysql://dipadmin:[email protected]:6103/elk_portal"
)

sql = "select * from luwak_project where content = '提取任務'"
res = conn.query(sql.decode("utf-8"))
true_sql = res.next()["name"]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章