• 数据库访问-records库


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

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

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

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

    输出Record实例 

    1. import records
    2. db_string="mysql+pymysql://root:password@localhost:3306/iapi?charset=utf8"
    3. db=records.Database(db_string)
    4. rows=db.query('select * from http_api')
    5. for row in rows:
    6. 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实例后,可以通过多种方式读取具体的字段内容 

     

    1. row=rows.first()
    2. print(row.name)
    3. print(row['name'])
    4. print(row.get('name'))
    5. print(row[1])

     结果集导出

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

     

    批量插入数据

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

     

  • 相关阅读:
    httpclient3.1跳过ssl验证
    计算机系统结构期末复习
    SpringBoot SpringBoot 基础篇 4 基于 SpringBoot 的SSMP 整合案例 4.19 条件查询
    java基础巩固19
    《最新出炉》系列初窥篇-Python+Playwright自动化测试-16-处理模态对话框弹窗
    【HDU No. 5057】序列操作 Argestes and Sequence
    Apache arrow顶级项目调试
    前端面试题 ===> 【HTML】
    大数据管理平台有什么用?如何利用大数据管理平台优化企业运营?
    JavaScript 62 JavaScript 版本 62.8 JavaScript 历史
  • 原文地址:https://blog.csdn.net/seanyang_/article/details/127602926