数据库访问-records库

records是由requests作者开发的一个DB访问库,与requests的宗旨一样,records也力图成为一个非常易用的DB库,它是基于SQLAlchemy库封装的一个上层库

>>> import records
>>> db = records.Database('sql://connect_string') # 实例化DB对象
>>> rows = db.query('select 1')                   # 执行SQL语句

在具体执行SQL语句之前需要实例化DB对象,真实的场景中需要把DB连接字符串替换为有效的字符串;之后可以通过DB对象的query方法来执行具体的SQL语句,query方法可以执行任意SQL语句并对查询类的SQL返回结果集实例。

records支持的DB连接字符串与SQLAlchemy是一致的,需要根据被访问数据库的类型、DB驱动库、用户名、密码、HOST、端口、数据库名称及特定参数等信息来组成

输出Record实例 

import records
db_string="mysql+pymysql://root:password@localhost:3306/iapi?charset=utf8"
db=records.Database(db_string)
rows=db.query('select * from http_api')
for row in rows:
   print(row)#输出Record实例
   

输出字典内容 

 print(row.as_dict())#输出Record实例对于的字典内容

 根据下标获取内容

  print(rows[0])

返回全部内容列表

# print(rows.all())#返回Record实例列表
# print(rows.as_dict())#返回字典内容列表

 返回第一条记录

first方法用于获取结果集中的第一条记录,如果结果集为空,则默认返回None;

print(rows.first())

只有一条记录

one方式也用于获取结果集中的第一条记录,如果结果集为空或者结果集不止一条,则会报错。

print(rows.one())

读取字段内容

获取具体记录的Record实例后,可以通过多种方式读取具体的字段内容 

 

row=rows.first()
print(row.name)
print(row['name'])
print(row.get('name'))
print(row[1])

 结果集导出

records还提供了结果集数据的导出功能,包括CSV、Excel、JSON、YAML等多种常用格式

 

批量插入数据

records除了在SQL查询方面提供了更加易用的封装接口,在SQL更新、删除操作上仅仅是SQL执行的操作入口,而在插入操作上records额外提供了一个批量操作的方法 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值