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

运行结果:

相关推荐
笃行客从不躺平18 小时前
遇到大SQL怎么处理
java·开发语言·数据库·sql
郝学胜-神的一滴18 小时前
Python中常见的内置类型
开发语言·python·程序人生·个人开发
火白学安全18 小时前
《Python红队攻防零基础脚本编写:进阶篇(一)》
开发语言·python·安全·web安全·网络安全·系统安全
逻极18 小时前
Redis Queue (RQ) 核心原理:轻量任务队列的设计与实践(一句话讲透核心本质)
数据库·redis·bootstrap
FreeCode18 小时前
LangGraph1.0智能体开发:运行时系统
python·langchain·agent
青瓷程序设计19 小时前
植物识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
q***318319 小时前
Window下Redis的安装和部署详细图文教程(Redis的安装和可视化工具的使用)
数据库·redis·缓存
习习.y19 小时前
关于python中的面向对象
开发语言·python
hmbbcsm19 小时前
练习python题目小记(六)
开发语言·python
大锦终19 小时前
【MySQL】基本查询
数据库·mysql