如何快速上手数据库操作?

发布于 更新于

技术文章

今天要介绍的这个python第三方库非常厉害,完美操作各种数据库。名字叫records,在网上很少有这个库的相关资料,但是在开源社区可是很火热的哦。如果这还不能打消你的顾虑,再告诉你一件事:如果你用python编程,你一定听过request...

今天要介绍的这个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等多种数据格式。


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


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


继续阅读