Flask 学习-12.Flask-SQLAlchemy链接mysql数据库

前言

sqlAlchemy采用简单的Python语言,提供高效和高性能数据库访问,实现了完整的企业级持久模型。sqlAlchemy 是目前python中最强大的 ORM框架, 功能全面。
Flask-sqlAlchemy 是一个为 Flask 应用插件,封装了sqlAlchemy,简化了操作,只需添加配置项就可以在Flask 项目中使用。

Flask-sqlAlchemy 环境准备

Flask 使用版本v2.2.2

先安装连接 MysqL 驱动包 pyMysqL

pip install pyMysqL

安装Flask-sqlAlchemy 应用插件

pip install flask-sqlalchemy

初始化配置

sqlalchemy 连接数据库,需要使用到一些配置信息,组合成满足以下条件的字符串:

dialect+driver://username:password@host:port/database

相关配置参数说明

配置参数 说明
dialect 数据库,如:sqlite、MysqL、oracle等
driver 数据库驱动,如前面安装的:pyMysqL
username 登录数据库用户名
password 登录数据库密码
host 数据库部署 IP 地址
port 端口
database 数据库库名

拼接地址示例

# 拼接配置dialect + driver://username:passwor@host:port/database
DB_URI = 'MysqL+pyMysqL://root:123456@localhost:3306/web'

flask-sqlalchemy 的相关配置封装到了 flask 的配置项中, 可以通过app.config属性 或 配置加载方案 (如config.from_object) 进行设置

配置选项 说明
sqlALCHEMY_DATABASE_URI 连接数据库。示例:MysqL://username:password@host/post/db?charset=utf-8
sqlALCHEMY_BINDS 一个将会绑定多种数据库的字典。
sqlALCHEMY_ECHO 记录打印sql语句用于调试的, 一般设置为False, 不然会在控制台输出一大堆的东西
sqlALCHEMY_POOL_SIZE 数据库池的大小,认值为5。
sqlALCHEMY_POOL_TIMEOUT 连接超时时间
sqlALCHEMY_POOL_RECYCLE 自动回收连接的秒数。
sqlALCHEMY_MAX_OVERFLOW 控制在连接池达到最大值后可以创建的连接数。当这些额外的 连接回收到连接池后将会被断开和抛弃。
sqlALCHEMY_TRACK_MODIFICATIONS 如果设置成 True (认情况),Flask-sqlAlchemy 将会追踪对象的修改并且发送信号。这需要额外的内存, 如果不必要的可以禁用它。

相关文章

MySQL 死锁 是指两个或多个事务互相等待对方持有的锁,从而导...
在MySQL中,InnoDB引擎通过Next-Key Locking技术来解决幻读问...
在数据库事务管理中,Undo Log 和 Redo Log 是两种关键日志,...
case when概述 sql语句中的case语句与高级语言中的switch语句...
其实很简单,只是为了忘记,做个记录,用的时候方便。 不管是...
1.进入服务,找到mysql服务,在属性里找到mysql的安装路径 2...