ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2022-08-23 13:01:38  阅读:202  来源: 互联网

标签:12 Flask 数据库 配置 SQLAlchemy 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 将会追踪对象的修改并且发送信号。这需要额外的内存, 如果不必要的可以禁用它。

标签:12,Flask,数据库,配置,SQLAlchemy,SQLALCHEMY,mysql
来源: https://www.cnblogs.com/yoyoketang/p/16615745.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有