Dataset 使用填坑记录
Dataset被誉为懒人数据库(databases for lazy people),是Python操作MySQL的库。因为其简单的操作,避开了繁琐的依赖安装和链接建立,能够很快的和数据库进行交互。但是在使用过程中,遇到了不少的坑,这篇文章旨在记录使用过程中遇到的坑,避免下次再犯浪费时间。
UTF-8 With Unicode
当MySQL数据库中有中文或者查询语句中有中文时,需要注意编码格式
- 当MySQL中存在中文时
conn = dataset.connect(
url="mysql://dipadmin:dipqwe123@m6103i.eos.grid.sina.com.cn:6103/elk_portal?charset=utf8"
)
res = conn.query("select * from luwak_task")
true_sql = res.next()["true_sql"].encode("utf-8")
- 当Query SQL中存在中文时
conn = dataset.connect(
url="mysql://dipadmin:dipqwe123@m6103i.eos.grid.sina.com.cn:6103/elk_portal"
)
sql = "select * from luwak_project where content = '提取任务'"
res = conn.query(sql.decode("utf-8"))
true_sql = res.next()["name"]