使用 sqlalchemy 执行接近原生的 sql 语句
今天花了一天时间搞定了一件事:
从电话公司接收电话记录,经过一定筛选之后,存到 mysql 数据库。
涉及的技术主要是使用 sqlalchemy 安全地执行 raw sql。
难度不大,就是繁琐,加上之前也没怎么用过,需要一边对数据,一遍查阅相关代码的正确书写方法,这导致效率不高。
注意的点主要有:
- 使用 create_engine 建立惰性的数据库引擎
- 使用 with engine.begin() as conn: 的方式实现可回滚的数据库读写操作
- 使用 text 保证 raw sql 的安全性
- 使用括号加 “ 的方式拼接长 sql 语句
- 使用字典解析的方式,为 sql 语句提供数据
不知是该恭喜,还是该怎样,总之阅读到该文的,你是第 人。每一次刷新,都是不同的自己。