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 ,与代码相对应。

运行结果:

相关推荐
思绪无限几秒前
YOLOv5至YOLOv12升级:无人机目标检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·python·深度学习·目标检测·计算机视觉·无人机·yolov12
m0_74362392几秒前
Vue 3 中集成 Three.js 场景的完整实现指南
jvm·数据库·python
还是阿落呀几秒前
数据库和表的基本操作
数据库·oracle
m0_748920362 分钟前
mysql如何处理用户权限过期自动失效_MySQL用户有效期管理
jvm·数据库·python
m0_747854523 分钟前
SQL关联查询中如何排除冗余字段_利用覆盖索引减少JOIN IO
jvm·数据库·python
qq_372906933 分钟前
SQL关联查询中处理多对多关系的方案_使用中间表进行JOIN
jvm·数据库·python
无敌昊哥战神7 分钟前
【LeetCode 491】递增子序列:不能排序怎么去重?一文讲透“树层去重”魔法!
c语言·c++·python·算法·leetcode
巨量HTTP8 分钟前
Python 获取动态 iframe 内容(完整解决方案)
开发语言·python
百锦再9 分钟前
时序数据库选型指南:大数据时代的“数据基建”与 IoTDB 的工业原生之路
大数据·数据库·mysql·oracle·sqlserver·时序数据库·iotdb
小碗羊肉10 分钟前
【MySQL | 第一篇】数据库和表的基本操作(DDL语句)
数据库·mysql