首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python编程:使用pythink查询数据库

github:https://github.com/mouday/PyThink

说下这个模块的作用

背景:

我们公司的主要使用的后端语言有两种,python和php

而且有一个专门的DBA管理数据库,就是说,这个数据库不是你一个人的,有同组的成员和其他组的成员在使用,好像大部分公司都一样。

Python爬虫部分的业务,主要操作是插入;而PHP业务主要是查询

最开始我使用普通的模块,这样每次都要去连接,关闭,很麻烦;

后来使用了peewee 来管理数据库链接,使用Model来创建数据库(这个时候还没有人管理数据库),简直不要太爽,不写一行SQL语句就实现了表创建,和数据操作;

后来我这边的表太多了,业务发展也规范了,专门有人管理数据库。这样就不能使用Model直接建表,而是要写成sql语句给数据库管理人员,审核完后再进行建表操作

在这种情况下,如果使用Model就必须先写sql建表,再把所有字段定义写出来才可以使用,如果涉及的表字段少还好,有时候涉及100多个字段(真的有过),那光是定义就一上午,Model的优势反而成了累赘,心累;

于是我开始不用Model了,直接使用peewee 提供execute_sql 这样我们又回到了原生sql的时代;

一般情况下,会将sql执行的语句和结果封装到一个函数中。写的多了,发现很多重复代码,除了sql不一样以外,其他格式基本一致。于是需要抽象出来,将相同代码抽象封装,以便复用。

于是pythink 出现了,结合了peewee 的操作方式,也保留了一部分原生sql 的格式,比如,增(insert)、删(delete)、改(update)、查(select)基本保留了sql的关键字,不需要额外记忆和区别,而且可以把对表的操作单独卸载model中,进行统一管理,也可以重写基类的方法,自己实现自己的业务逻辑(不建议,建议取一个不一样的函数名字)。

一起感受下其如丝般顺滑的操作

安装

代码示例

当然还可以进行各种增删改查,不过还处于测试阶段,如果用于正式项目还要注意其执行的结果

(完)

看完本文有收获?请转发分享给更多人

关注「Python那些事」,做全栈开发工程师

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190415A020TD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券