Flask-SQLAlchemy
ORM
- ORM --> Object-Relation Mapping
- 对象-关系映射
- 主要实现模型对象到关系数据库数据的映射
ORM 一般解释
Flask
创建对象,调用 flask-sqlalchemy
db.session.add(对象) ORM
db.session.commit() 在orm中,将类与表映射,完成数据的crud
insert语句
查询对象,调用
db.session.add(对象) update语句
db.session.commit()
查询对象调用
db.session.add(对象)
db.session.commit() delete 语句
模型类.query.all()或
filter()或filter_by() select语句
优点 :
- 只需要面向对象编程, 不需要面向数据库编写代码.
- 对数据库的操作都转化成对类属性和方法的操作.
- 不用编写各种数据库的
sql语句
.
- 实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异.
- 不在关注用的是
mysql
、oracle
…等. - 通过简单的配置就可以轻松更换数据库, 而不需要修改代码.
- 不在关注用的是
缺点 :
- 相比较直接使用SQL语句操作数据库,有性能损失.
- 根据对象的操作转换成SQL语句,根据查询的结果转化成对象, 在映射过程中有性能损失.
python-flask 数据库的生成
-
python 文件 db init
-
python文件 db migrade -m “版本名(注释)”
-
python 文件 db upgrade 然后观察表结构 (数据库中已生成表结构)
-
根据需求修改模型
-
python 文件 db migrade -m “新版本名(注释)”
-
python 文件 db upgrade 再次观察表结构
-
若返回版本,则利用python文件 db history查看版本号
-
python 文件 db downgrade(upgrade) 版本号