一周学会Flask3 Python Web开发-SQLAlchemy连接Mysql数据库

锋哥原创的Flask3 Python Web开发 Flask3视频教程:

2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili

app.py下,我们先配置数据库连接,然后写一个简单sql测试。

连接配置,包括用户名,密码,主机地址,端口以及数据库

复制代码
app.config[
    'SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@localhost:3308/db_flask?charset=utf8'

接下来创建SQLAlchemy对象:

复制代码
# 创建SQLAlchemy对象
db = SQLAlchemy(app)

写测试连接:

复制代码
with app.app_context():
    with db.engine.connect() as conn:
        rs = conn.execute(text("select 1"))
        print(rs.fetchone())

运行结果:

我们优化下,实际开发,像这些数据库配置,我们都单独写到配置文件里面去:

新建一个config.py

复制代码
# config.py
USERNAME = "root"  # 数据库登录用户名
PASSWORD = "123456"  # 数据库登录密码
HOST = "localhost"  # 数据库服务器地址,若为远程服务器填写对应的IP地址,这里是示例地址
PORT = "3308"  # 数据库连接端口号,MySQL默认常用端口是3306
DATABASE = "db_flask"  # 要访问的数据库名称

# 创建统一资源标识符(URI),用于指定数据库连接的详细信息
# SQLALCHEMY_DATABASE_URI的格式为:数据库类型 + 驱动://{登录名}:{密码}@{IP地址}:{端口号}/{数据库名}?charset={编码格式}
DB_URI = f'mysql+pymysql://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/{DATABASE}?charset=utf8'

# SQLALCHEMY_DATABASE_URI配置项,设置数据库的连接URI,让SQLAlchemy知道如何连接数据库
SQLALCHEMY_DATABASE_URI = DB_URI

# SQLALCHEMY_TRACK_MODIFICATIONS配置项,用于控制是否动态追踪对象修改情况
# 若设置为True,会追踪对象修改,但会消耗额外资源,默认不设置时会有告警提示,这里设为True开启追踪
SQLALCHEMY_TRACK_MODIFICATIONS = True

# SQLALCHEMY_ECHO配置项,用于设置是否在查询时显示原始的SQL语句
# 设为False表示不显示原始SQL语句,设为True则会在控制台等地方输出实际执行的SQL语句,方便调试查看
SQLALCHEMY_ECHO = True

app.py里面读取配置文件

复制代码
# 读取配置文件
app.config.from_object('config')

再测试下,我们还能看到原始SQL信息,方便我们开发调试:

相关推荐
jay神1 小时前
深度学习的优化器应该怎么选?
人工智能·python·深度学习·毕业设计·课程设计
程序员黑豆5 小时前
Java包装类:基本类型与对象的桥梁
java·前端·ai编程
bugcome_com8 小时前
JWT 知识小课堂:从入门到精通,一文吃透 JSON Web Token
前端·json
张洛闻Eren8 小时前
MySQL 维护稳定系统【MySQL第二课】
linux·数据库·mysql·云原生
To_OC8 小时前
写了三天 Next.js,我的 React 世界观被拆了又装回去
前端·全栈·next.js
独泪了无痕8 小时前
viewer.js 安装与配置指南:实现图片预览功能
前端·vue.js
布莱克6059 小时前
理解索引:从概念到实践
数据库·mysql
XLYcmy9 小时前
京东 算法实习一面 下+手撕
c++·python·llm·概率论·数据处理·训练·codebert
虎头金猫9 小时前
如何在群晖NAS上通过Docker部署CloudSaver?群晖部署CloudSaver教程|聚合资源搜索并实现远程访问
运维·服务器·网络·python·docker·容器·pandas
从零开始学习人工智能9 小时前
WSL2部署CUDA12+cuDNN9踩坑实录:ONNX Runtime GPU推理环境搭建全流程
python