Python Flask框架 -- Flask连接MySQL数据库

python 复制代码
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import text

app = Flask(__name__)

# MySQL所在的主机名或域名
HOSTNAME = '127.0.0.1'
# MySQL监听的端口号,默认3306
PORT = 3306
# 连接MySQL的用户名,用自己的
USERNAME = 'root'
# 连接MySQL的密码,用自己的
PASSWORD = '***'
# MySQL上创建的数据库名称
DATABASE = 'database_learn'

app.config[
    'SQLALCHEMY_DATABASE_URI'] = f'mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8mb4'

# 在app.config中设置好连接数据库的信息
# 然后使用SQLAlchemy(app)创建一个db对象
# SQLAlchemy会自动读取app.config中连接数据库的信息
db = SQLAlchemy(app)

# 测试是否连接成功
with app.app_context():
    with db.engine.connect() as conn:
        rs = conn.execute(text("select 1"))
        print(rs.fetchone())  # 输出 (1,) 说明连接成功


@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    app.run()

在运行前先在MySQL中创建好 database_learn 数据库,字符集为 utf8mb4 ,与代码相对应。

运行结果:

相关推荐
小小程序猴1几秒前
用工程视角建模企业AI培训周期:三段账本估算器(Python实现)
开发语言·人工智能·python
太理摆烂哥7 分钟前
MySQL表的操作
数据库
lbb 小魔仙9 分钟前
时序数据库是什么?2026 年五款工业时序数据库横评与场景解析
数据库·时序数据库
十二同学啊12 分钟前
Python FastAPI 项目使用 Docker 部署并映射端口(完整教程)
python·docker·fastapi
零基础12313 分钟前
权限管理怎么做?从“资格”与“空间”双维度设计一套可落地的权限体系
java·服务器·数据库
不爱吃鱼的蔓热莓15 分钟前
Autosar arxml异常字符串处理
python
FBI HackerHarry浩16 分钟前
Pytorch中 CPU tensor vs GPU tensor
人工智能·pytorch·python·深度学习
wewowilling17 分钟前
工作流 .... coze平台--AI--Agent--RAG--Function Calling
python·低代码·agent·零代码·工作流·coze
小草cys18 分钟前
图片一键转全矢量可编辑PPT——纯Python实现,零依赖,离线可用
人工智能·python·powerpoint
小小龙学IT34 分钟前
PostgreSQL 服务端机制与 SQL 实战深度解析:从 MVCC 到查询优化器
数据库·sql·postgresql