今天要介绍的这个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等多种数据格式。
◆ 源码非常简单,你一定看得懂。
本文由柠檬班雨泽老师原创,转载需注明出处!www.lemonban.com 测试自学平台
网友评论