Python学习笔记八:ORM框架SQLAlchemy

时间:2022-12-05 12:25:36

一:SQLAlchemy使用

1:实体类的创建

ORM中的实体类与一般的Python类不同,在其中,使用 __tablename__=""指明该类与数据库中某个表相对应,然后定义一系列成员属性,属性值使用 Column(数据类型) 来映射到表中具体哪一列。

首先,创建数据库引擎,并由静态方法获取一个基类:declarative_base() 创建了一个 BaseModel 类,这个类的子类可以自动与一个表关联。

Python学习笔记八:ORM框架SQLAlchemy

然后,继承base类,定义实体类:

Python学习笔记八:ORM框架SQLAlchemy

带外键的实体类创建:

Python学习笔记八:ORM框架SQLAlchemy

最后,运行基类中自带的方法,把数据库引擎传进去,创建出数据库表:BaseModel.metadata.create_all(engine) 会找到 BaseModel 的所有子类,并在数据库中建立这些表

Python学习笔记八:ORM框架SQLAlchemy

2:创建记录

创建一个类实例,就对应了一条数据库记录。

Python学习笔记八:ORM框架SQLAlchemy

3:创建数据库会话

Python学习笔记八:ORM框架SQLAlchemy

4:使用面向对象的方式操作数据库

增:

增加一条记录:Python学习笔记八:ORM框架SQLAlchemy

增加多条记录:Python学习笔记八:ORM框架SQLAlchemy

查:

条件查询:Python学习笔记八:ORM框架SQLAlchemy

全表查询:Python学习笔记八:ORM框架SQLAlchemy

排序查询:Python学习笔记八:ORM框架SQLAlchemy

过滤查询(in/not in):

Python学习笔记八:ORM框架SQLAlchemy

Python学习笔记八:ORM框架SQLAlchemy

统计查询记录数:Python学习笔记八:ORM框架SQLAlchemy

逻辑查询:and/or后面跟左右操作数。

Python学习笔记八:ORM框架SQLAlchemy

Python学习笔记八:ORM框架SQLAlchemy

join查询:

Python学习笔记八:ORM框架SQLAlchemy

其他更多操作:参考这篇博文:

http://blog.csdn.net/fengzhongzhishenfu/article/details/38978863

5:提交事务,使持久化操作生效

Python学习笔记八:ORM框架SQLAlchemy