云豆贴心提醒,本文阅读时间6分钟,文末有秘密!
ORM介绍
ORM(Object-Relational Mapping) 架构,采用元数据来描述对象-关系映射细节。业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系。我们平常使用的数据库都为关系型。所以ORM系统一般是以中间层的方式存在,用来关联对象和数据库数据的映射。
由于现在流行的关系型数据库有很多,假设代码在部署的使用的底层数据库使用的MySQL,并已经正常稳定运行,但是现在需要将MySQL换成oracle,闹么将会需要将原来所编写的代码进行大批量的修改,导致重复的操作。所以使用一种中间层的方式,利用API对ORM进行调用,这样就无论底层的的数据库是什么类型,我们所修改的无非就是API参数即可,无需大幅度的修改代码。
SQLAlchemy介绍
SQLAlchemy是Python语言中一款开源软件的ORM工具,采用简单的Python语言,提供高性能的数据库访问,实现完整企业级持续模型。SQLAlchmey采用了类似于Java里Hibernate的数据映射模型,而不是其他ORM框架采用的Active Record模型。
准备和初始化阶段
导入SQLAlchemy所需的库文件
初始化DBSession
定义Host对象
创建所有表结构
Base.metadata.create_all(engine)
代码测试快
基本操作
插入数据
最终显示结果
提交操作
# 回滚操作
# session.rollback()
# 提交所修改的操作
# session.commit()
查询操作
1、query查询使用
2、匹配过滤
常用匹配方式(此处不会列全,仅做参考)
==, !=, in, like, and_, or_
等
其中 and_ 和 or_ 还需要在 sqlalchemy 导入模块才可使用
from sqlalchemy import or_,and_
例子
3、返回的值为列表
4、统计数量
使用是需要导入func模块
5、其他可能会用到的
group_by() 和 order_by()
group_by():分组查询
order_by():排序
修改
今日值班: 马哥教育二号女神学习顾问,可甜蜜贴心沟通,可严谨职业指导,爱水果也爱生活,会创意更爱学习,陪伴你的成长之路。
内容沟通、职业成长和课程学习,可添加学习顾问:
【扫一扫即可撩】
特别提醒
马哥教育与腾讯课堂联办的Python全栈工程师课程新课上线,优惠两重享
福利一:新课上线,联合腾讯课堂特惠8折,老学员报名7折【每日限额】;
福利二:买一赠八,赠送马哥教育Linux基础教程8套【仅限本期】;