Flask框架之数据库

ORM

ORM概念

  • ORM全拼Object-Relation Mapping 称为对象-关系映射
  • 主要实现模型对象到关系数据库数据的映射
    比如:把数据库表中每条记录映射为一个模型对象


    image.png

ORM图解

Flask框架之数据库_第1张图片
image.png

ORM的优缺点有哪些

优点:

  • 对数据库的操作都转化成对类,属性和方法的操作
  • 不用编写各种数据库的sql语句
  • 不在关注使用的mysql,orcle等数据库

缺点:

  • 相比较直接使用SQL语句操作数据库有性能损失

Flask-SQLAlchemy安装及设置

  • SQLAlchemy实际上是对数据库的抽象,让开发者不用直接和SQL语句打交道,而是通过python对象来操作数据库,在舍弃一些性能开销的同时,换来的是开发效率的较大提升
  • SQLALchemy是一个关系型数据库框架,它提供高层的ORM和底层的原生数据库的操作。flask-sqlalchemy是一个简化了SQLAlchemy操作的flask扩展

安装

  • 安装 flask-sqlalchemy
pip install flask-sqlalchemy
  • 如果连接的是mysql数据库,需要安装mysqldb
pip install flask-mysqldb

数据库连接设置

  • 设置数据库的链接地址,追踪信息
  • 格式:mysql://<用户名>:<密码>@:<端口>/数据库名称
# 数据库链接地址
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:[email protected]:3306/test'
# 动态追踪修改设置,如未设置只会提示警告
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True

查看映射的sql语句,设置:app.config['SQLALCHEMY_ECHO']=True

  • 配置完成需要去MySQL中创建项目所使用的数据库
$ mysql -uroot -pmysql
$ create database test charset utf8;

你可能感兴趣的:(Flask框架之数据库)