Dataset 使用填坑记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huochen1994/article/details/83997051

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"]

猜你喜欢

转载自blog.csdn.net/huochen1994/article/details/83997051