Python Flask-SQLAlchemy 连接 MySQL 数据库完整流程

远山来客
远山来客
发布时间:2026-10-16| 4人浏览过
原创

本文详细介绍如何在 Python Flask 项目中通过 Flask-SQLAlchemy 扩展连接 MySQL 数据库。内容涵盖环境安装、数据库 URI 配置、SQLAlchemy 实例化、ORM 模型定义及数据表的创建,最后演示了基本的增删改查操作,帮助开发者快速掌握 Flask 数据库集成流程。

安装依赖包

第一步,安装必要的依赖包。

执行命令:pip install flask-sqlalchemy

执行命令:pip install pymysql

配置数据库连接

第二步,进行数据库连接配置。

使用 Flask-SQLAlchemy 扩展操作数据库时,首要任务是通过 URL 建立数据库连接。该连接字符串必须保存至 Flask 配置对象的 SQLALCHEMY_DATABASE_URI 属性中。

HOSTNAME = '127.0.0.1' PORT = '3306' DATABASE = 'flask_test' USERNAME = 'root' PASSWORD = 'root' DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE) app.config['SQLALCHEMY_DATABASE_URI'] = DB_URI

其中 HOSTNAME 代表数据库服务器的路由地址。

PORT 为端口号,此处未修改默认值,故使用 3306。

DATABASE 指定目标数据库的名称。

后续两个参数分别对应数据库的用户名和密码。

初始化 SQLAlchemy 实例

第三步,创建 SQLAlchemy 实例。

db = SQLAlchemy(app)

此处将创建的实例命名为 db。

定义 ORM 模型

第四步,定义 ORM 模型类。

创建模型类时,必须继承 db.Model 基类。

class Article(db.Model):
    __tablename__ = "article"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(200), nullable=False)
    content = db.Column(db.Text, nullable=False)

代码第二行定义数据库表名为 article。第三行定义 id 字段,类型为整数,设为主键并开启自增。第四行定义 title 字段,类型为长度 200 的字符串,且设为非空。第五行定义 content 字段,类型为 db.Text,同样设为非空。

创建数据表

第五步,生成数据表。

db.create_all()

执行后,数据库中会新增一张对应的表。

此时该表结构已存在,但内容为空。

执行数据增删改查

第六步,对表中数据进行增删改查操作。

这些操作可在视图函数中执行,也可直接在脚本中运行。

@app.route("/article")
def article_view():
    # 添加数据
    article = Article(title="钢铁是怎样炼成的", content="xxx")
    db.session.add(article)
    db.session.commit()
    # # 查询数据
    # article = Article.query.filter_by(id=1)[0]
    # print(article.title)
    # 
    # # 修改数据
    # article = Article.query.filter_by(id=1)[0]
    # article.content = "yyy"
    # db.session.commit()
    # 
    # # 删除数据
    # article = Article.query.filter_by(id=1)[0]
    # db.session.delete(article)
    # db.session.commit()
    return "数据操作成功"

添加数据时未指定 id,因前文已设置 id 的 autoincrement 为 True,系统会自动生成递增 ID。

执行插入操作后,数据库中可见新增记录。

其余查询、修改和删除操作的结果需自行验证。若需观察每一步的具体效果,建议在添加数据前注释掉其他三步代码,对其它步骤亦采取相同策略。

至此,关于 Python Flask-SQLAlchemy 连接数据库的流程介绍完毕。如需了解更多 Python 连接数据库相关内容,可搜索本站历史文章或继续阅读后续教程,感谢支持。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。