flask与数据库的连接基于flaks_sqlaichemy 扩展
首先要连接数据库的时候必须得先下载 pip install flask-sqlalchemy 这个扩展
flask框架与数据库的连接说到底是为了方便解决业务逻辑
ORM 的中文意为对象-关系映射,主要是按模型对象到关系数据库映射的,
它的优点呢只需要面向对象编程,不需要面向数据库编写代码,对数据库的操作都转化为对类属性和方法的操作,
不用别写各种数据库的sql语句,实现了数据模型与数据库的解耦,拼比了不同数据库操作上的差异,不在管制用的是mysql,oracle。。等。通过简单的配置就可以轻松更换数据库,而不需要修改代码。
不过它的缺点也很明显,比如呢相比较直接使用SQL语句操作数据库,有性能损失,根据对象的操作转换成SQL语句,根据查询的结果转化成对象,在影射过程中有性能损失。
SQLAchemy 实际上是对数据库的抽象,让开发者不用直接和SQL语句打交道,二十通过Python对象来操作数据库,在舍弃一些性能开销的同时,换来的是开发效率的较大提升,它是一个关系型数据库框架,它提供了高层的ORM和底层的原生数据库的操作,flask_sqlalcjemy时候一个简化了SQLAlchemy操作的flask扩展。
和数据库连接的时候的设置:
在Flask-SQLAlchemy中,数据库使用URL指定,而且程序使用的数据库必须保存到Flask配置对象的
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:mysql@127.0.0.1:3306/my_flask?charset=utf8'
SQLALCHEMY_COMMIT_ON_TEARDOWN = True
在数据库上插入,删除,修改的话都用db.session表示,在准备吧数据写入数据库前,要先将数据添加到会话中然后调用commit()方法提交会话
在数据库上查询操作是通过query对象操作数据。最基本的查询是返回表中所有数据,可以通过过滤器进行更精确的数据查询。