如何优雅的操作数据库?

今天要介绍的这个python第三方库非常厉害,完美操作各种数据库。

 

名字叫records,在网上很少有这个库的相关资料,但是在开源社区可是很火热的哦。

 

如果这还不能打消你的顾虑,再告诉你一件事:如果你用python编程,你一定听过requests,这两个库是同一个作者写的。

 

 

01·快速使用

使用步骤:

 

1、连接数据库,返回db数据库对象

 

2、db对象执行sql语句

 

 

获取数据库的格式是标准的URL格式。

 

如果使用的不是mysql数据库,只需要换掉数据库类型就可以了:

 

 

02·创建表

 

03·插入单条数据

 

records支持使用 :variable定义变量,通过参数传入完成动态传值,在需要动态加载数据的时候非常有用:

 

 

04·插入多条数据

 

sql语句在执行多条数据操作的时候非常不方便,尤其是当值还是变化的时候。

 

records提供的bulk_query方法能快捷的插入和更新多条数据:

 

 

05·数据查询

 

查询到数据以后,可以通过all()方法获取所有的记录,支持3种类型。

 

◆ 默认是自己封装的RecordCollection对象

 

◆ 也可以通过as_dict=True参数转成字典形式

 

◆ 可以通过as_ordereddict=True转成排序字典形式

 

 

06·简洁的数据库事务支持

 

数据库事务是经常需要使用到的数据库操作,他通常是为了保持数据原子性和一致性。

 

比如一个转账的数据库操作:

 

1、从yuze账号中读取余额 

 

2、对yuze账号余额减去转账-400 

 

3、从chaoge账号中把余额读出来 

 

4、对chaoge账号做加法操作(+400)

 

我们必须保证这4步同时执行成功,要么同时都不成功。

 

如果前2步已经执行成功,但是到第3步发生了错误导致后面都不能执行,就会出现问题:

 

yuze的账号被扣了钱,但是chaoge的账号却没有加钱。

 

通过数据库事务就能避免这种情况。

 

 

07·数据导出为json

数据库数据得到以后还需要进一步的操作,比如保存起来。

 

 

08·数据导出到Excel文件

 

最常用的是如果需要各种各样的报表,需要放到excel文件中保存起来。

 

 

导出的数据效果:

 

 

09·总结

◆ records支持多种不同的数据库;

 

◆ records的方法非常简单和统一,不像pymysql还需要记住如游标对象这样的底层信息;

 

◆ 自动实现上下文管理器,不需要关注链接状态;

 

◆ 支持 :variable方言,以安全的形式进行动态参数传递,防止sql语句不规范导致的安全问题;

 

◆ 支持数据库事务,保持数据的原子性和一致性;

 

◆ 轻松导出为json, yaml, xls, xlsx, pandas, html等多种数据格式。

 

◆ 源码非常简单,你一定看得懂。

 

本文由柠檬班雨泽老师原创,转载需注明出处!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值