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

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

时间:2022-08-23 13:15:29浏览次数:74  
标签: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
From: https://www.cnblogs.com/yoyoketang/p/16615745.html

相关文章

  • Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:tes
    Maven使用Test的时候出现Failedtoexecutegoalorg.apache.maven.plugins:maven-surefire-plugin:2.12.4:test(default-test)onprojectStuMavenDemo1:Therearete......
  • iOS 推送证书无法导出P12文件
    问题:iOS推送证书无法导出P12文件,选择导出后文件格式内"P12"是无法选中解决办法:把所在默认钥匙串-登录的目标证书,复制(command+c),然后选择系统钥匙串-系统-粘贴(command+v),......
  • P2123 皇后游戏 纯推导过程
    没做过 P1080[NOIP2012提高组]国王游戏的可以去做做()这道题的大臣是有全序关系的(就是说可以比较优劣且具有传递性),所以直接定义小于号排序就好了。以下是......
  • 《GB12557-2010》PDF下载
    《GB12557-2010木工机床安全通则》PDF下载《GB12557-2010》简介本标准规定了木工机床的安全技术要求;本标准适用于除木工手提机外的所有木工机床。 《GB12557-20......
  • Flask 学习-11.redirect() 重定向
    前言使用redirect()函数可以重定向请求redirect()函数当我们访问一个需要用户先登录才能访问的地址时,比如获取用户信息,如果用户没登录,需重定向到登录页。fromflask......
  • Flask 学习-10.url_for()函数获取视图url
    前言在浏览器输入url地址可以访问到视图函数,如果需要反向获取对应视图的url地址可以用url_for()函数url_for()函数url_for()函数用于构建指定函数的URL。它把函数名......
  • 题解 CF1712D Empty Graph
    CF1712D洛谷的CF的提交无了,所以可能没人来看了,但是在题解区是清一色的二分,而唯一一篇贪心题解的讨论还略显复杂的情况下,我还是希望提供一种比较简洁的贪心题解。在复杂......
  • Win7系统如何给电脑硬盘重新分区 (2014-11-06 12:03:23)
    Win7系统如何给电脑硬盘重新分区Win7系统下,如果想进行磁盘分割,可以用Win7自带的磁盘管理工具来调整分区大小。具体步骤如下:打开Win7控制面板,在系统和安全-管理工具中点击......
  • JS判断是手机访问还是电脑访问,并自动跳转 可在PHP中使用 (2014-12-02 14:41:26)
    方法一、在head内调用以下代码《uaredirect.js》该文件下载地址:http://siteapp.baidu.com/static/webappservice/uaredirect.js百度网盘下载地址:http://pan.baidu.com/......
  • 【完美解决】使用flask的run启动debug来运行puppeteer,报错【signal only works in ma
    解决方案:puppeteer在初始化launch时,必须增加以下的参数【handleSIGINT=False,handleSIGTERM=False,handleSIGHUP=False】才能使得flask的run-debug模式启动也能正常运行!......