原标题:如何快速上手数据库操作?

今天要介绍的这个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 测试自学平台返回搜狐,查看更多

责任编辑:

如何快速上手mysql_如何快速上手数据库操作?相关推荐

  1. r dataframe 转成向量_快速掌握R语言中类SQL数据库操作技巧

    在数据分析中,往往会遇到各种复杂的数据处理操作:分组.排序.过滤.转置.填充.移动.合并.分裂.去重.找重.填充等操作.这时候R语言就是一个很好的选择:R可以高效地.优雅地解决数据处理操作.(本章节为 ...

  2. phalapi 数据库锁_phalApi数据库操作

    在很多时候,我们会遇到数据库表里面的某个值需要+1操作,我们不能简单地在update的时候写入array('key' => 'key+1'),因为在解析sql的时候,key+1 会带上引号作为一 ...

  3. 自学Python第二十二天- Django框架(一)创建项目、APP、快速上手、请求和响应流程、模板、数据库操作

    Django 框架是一个基于 python 的重量级的 web 开发框架,现今很多大公司大项目都是使用 Django 框架.采用了 MVC(model view controller) 的框架模式,p ...

  4. 【Microsoft Azure 的1024种玩法】三十. 使用Azure Data Studio之快速上手连接管理Azure SQL 数据库(一)

    [简介] Azure Data Studio 是一种跨平台的数据库工具,适合在 Windows.macOS 和 Linux 上使用本地和云数据平台的数据专业人员,Azure Data Studio 利 ...

  5. 快速上手JDBC——Java如何在底层操作数据库

    我们为什么学习这个,用一句话概括,JDBC就是用Java语言操作关系型数据库 原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句 同理,以后学习用J ...

  6. apache2.4.9 开启path_info访问_【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)...

    新建项目 打开VS2015,找到菜单项[文件->新建->项目],打开向导对话框: 注意我们的选择项: 运行平台:.NET FrameWork 4.5 项目模板:ASP.NET Web Ap ...

  7. GaussDB(for MySQL)如何快速创建索引?华为云数据库资深架构师为您揭秘

    摘要:云服务环境下,如何解决客户基于大量数据创建索引的性能问题,成为云服务厂商的一个挑战.华为云GaussDB(for MySQL)通过引入并行创建索引技术,很好地解决了批量索引创建和临时添加索引等性 ...

  8. oracle闪回区满了,一次快速闪回区满导致数据库不能启动的解决过程

    一.事件背景描述:一个测试系统的数据库由于磁盘空间满了,清理了磁盘空间的,等待很久系统没有相应,因此通过shutdown immediate命令重新启动数据库,但是数据库一直关闭不了,所以通过shut ...

  9. 如何快速把Excel数据导入SQL数据库

    如何快速把Excel数据导入SQL数据库 最近做测试数据的时候很苦恼,我百度了很久发现没有我想要的答案,不知道是我搜索的问题还是不行最终发现了一种方式可以快速导入数据不用一句一句的去写insert i ...

最新文章

  1. NoSQL Databases - CouchDB
  2. C++的const比C语言#define更好的原因?
  3. mongodb与java结合_MongoDB初探系列之四:MongoDB与Java共舞
  4. sql 2012先分离迁移mdf mlf 文件到别的机器后附加 数据库成只读的修复方法
  5. Shiro 登录、退出、校验是否登录涉及到的Session和Cookie
  6. 开源 微软 语音识别_能用嘴,绝不动手!支持跨屏的语音输入法,它来了!
  7. ASRT:一个中文语音识别系统
  8. 前端中台化,把格局做大:Node.js与测试服务探索
  9. 架构蓝图设计之4+1视图解析
  10. #pragma comment (lib, ws2_32.lib) 调用报错
  11. Unity中Switch的用法
  12. 进北京软通动力的经历
  13. 从0开始建设saas - 优化篇(session访问的问题)
  14. sd卡格式化不了怎么办?
  15. 信息安全相关术语(行话)
  16. 谷歌的ie9.js ie8.js ie7.js 解决IE5、IE6、IE7、IE8与W3C标准的冲突
  17. pytorch unfold记录
  18. 从3K到30K,23岁的年纪我到底经历了什么
  19. 使用yum -y install xxxx时会出现错误的解决办法
  20. Nginx配置反向代理访问内部服务

热门文章

  1. unittest单元测试框架总结
  2. 在计算机系统中使用防病毒软件的作用,防病毒软件的作用是 江苏省网络与信息安全技能竞赛题库(5)...
  3. 【安全漏洞】深入剖析CVE-2021-40444-Cabless利用链
  4. 【easysnmp】python snmp IF-MIB::ifPhysAddress messy code,解析mac地址乱码
  5. 【Nginx】访问日志里有大量的 HEAD 方法请求
  6. 【Prometheus 】 Blackbox_exporter 指标 probe_http_duration_seconds
  7. 11、CROSS JOIN:交叉连接(笛卡尔积)
  8. HDU2034 人见人爱A-B(C++)
  9. 1030 Travel Plan (30 分) 【难度: 中 / 知识点: 最短路】
  10. VMware(虚拟机)的网络模式介绍