Python Requests作者另一神作,Records通用而优雅的数据库访问库
后来接触到PythonSQLAlchemy(ORM框架)模块 , 一定程度上解决了各数据库的SQL差异 , 但SQLAlchemy在消除各数据库SQL差异的同时却会引入各框架CRUD的差异 。 而我们往往就具有一定的SQL基础 , 如果一个框架强制用户只能使用其规定的CRUD形式那反而增加用户的学习成本 , 导致长学习曲线 。
同时 , 个人为人直接地执行SQL而不是使用框架设定的CRUD不应当是一种低级的操作应当是一种被鼓厉的标准化行为 。
遇到RecordsRecords是一个非常简单且功能强大的库 , 适用于大多数关系型数据库的原始SQL操作 , 三个字 , 强无敌 。
Records的特点:
基于SQLAlchemy和Tablib开发 。 方法非常简单且统一 。 支持缓存查询的数据.自动实现上下文管理器 , 不需要关注数据连接状态 。 支持数据库事务 , 保持数据的原子性和一致性 。 支持安全的参数化查询 , 以安全的形式进行动态参数传递 , 防止sql语句不规范导致的安全问题;支持主流数据库 , 如RedShift,Postgres,MySQL,SQLite,Oracle,和MS-SQLRecords安装我们在Windows10Python3环境下 , 使用pip进行安装 , 安装命令如下:
pipinstallrecords安装过程如下:
读取商品销量数据 。 更新商品销量增加1 。 读取商品存量数量 。 更新商品存量减少1 。该场景下 , 我们须保证这4步均执行成功 。 如果第1步已经执行成功 , 但是到第3步发生了错误导致后面数据库操作不能执行 , 会导致商品销量与存量混乱 。 records模块提高了强大的数据库事务支持 , 通过数据库事务就能避免这种情况 , 如下:
推荐阅读
- 互联网|两分天下的在线外卖市场用户投诉也更集中
- 碧蓝幻想|碧蓝幻想:土方无泳盾solo超法
- 关心|坚决不和这一种人交往!切记!
- 再也遇不到像你这样爱我的人了
- python深度学习:为什么要学习深度学习?
- 高考|经典素描作品集
- 衣服作者东平|棉麻文艺长衫,做个高开叉的款式搭配裙子,裤子都好看
- 叶子|没有一片叶子愿意枯萎在春天
- 斯蒂芬妮·梅耶|《暮光之城》新书跃居畅销榜首,作者称将继续该系列创作
- 维亚尔|维亚尔的高清作品赏析