当前位置: 首页 > news >正文

Flask 使用 PyMySQL 连接数据库

Flask 使用 PyMySQL 连接数据库

在 Flask 中使用 PyMySQL 库连接数据库可以实现高效的数据库操作。以下是具体步骤:

  1. 安装必要的库

在开始之前,需要安装 Flask 和 PyMySQL:

pip install flask pymysql
2. 配置数据库连接

在 Flask 应用中,配置数据库连接字符串。以下是示例代码:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)

配置 MySQL 数据库连接

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://用户名:密码@localhost:3306/数据库名?charset=utf8mb4'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False# 初始化 SQLAlchemy
db = SQLAlchemy(app)

注意事项:

替换 用户名、密码 和 数据库名 为实际值。

确保 MySQL 服务已启动,并且字符集设置为 utf8mb4。

  1. 定义数据模型

使用 SQLAlchemy 定义数据表模型。例如,创建一个用户表:

class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)def __repr__(self):
return f'<User {self.username}>'
  1. 创建数据库表

通过以下命令将模型映射到数据库中:

with app.app_context():
db.create_all()
  1. 数据库操作示例

以下是增删改查的基本操作:

添加数据:

new_user = User(username='test_user', email='test@example.com')
db.session.add(new_user)
db.session.commit()

查询数据:

users = User.query.all() # 查询所有用户
user = User.query.filter_by(username='test_user').first() # 条件查询

更新数据:

user = User.query.get(1) # 获取 ID 为 1 的用户
user.email = 'new_email@example.com'
db.session.commit()

删除数据:

user = User.query.get(1)
db.session.delete(user)
db.session.commit()
  1. 常见问题及解决方案
    无法连接 MySQL: 检查 MySQL 服务是否启动,确保端口号(默认 3306)开放。
    字符集错误: 在连接字符串中添加 ?charset=utf8mb4。
    模型与表结构不一致: 使用 flask db migrate 和 flask db upgrade 更新表结构。
    通过以上步骤,您可以成功在 Flask 中使用 PyMySQL 连接并操作 MySQL 数据库。
http://www.sczhlp.com/news/46633/

相关文章:

  • 【2025】Go语言超详细下载安装教程(附教你写第一个Go语言Hello world程序)
  • 可莉线段树
  • Build a pile of Cubes
  • 协议突破,PROFINET转Ethernet IP网关的创新应用探讨
  • 打网站显示域名解析错误营销策略有哪些方法
  • 龙岗网站制作讯息营销网站建设网站开发
  • 上海网站建设方案服务免费建站软件
  • 中国建设监理协会网站qq空间刷赞推广网站
  • 厦门做网站多企业内训
  • 网站建设预算表龙岗网站建设公司
  • 做推送网站百度推广充值必须5000吗
  • 哈尔滨比较好的设计公司网站做优化
  • 做网站分为哪些功能的网站首码项目推广平台
  • wordpress无法搜索插件优化大师卸载不了
  • 西安分销商城网站建设互联网行业最新资讯
  • 博达网站建设教程怎样在百度上发布作品
  • 工厂的“最强大脑”:三分钟看懂PLC
  • PowerShell 使用 7z.dll 和 SevenZipSharp.dll 解压缩文件
  • 像人的手臂一样灵活:工业机器人的关节奥秘
  • 选对材料,事半功倍:机械设计师的选材指南
  • pbds库用法
  • 宁波企业网站设计上海网站建设联系方式
  • 怎么在运行打开wordpress网站优化工具
  • 除了做视频网站还能做什么网站深圳网络营销模式
  • 动漫网站开发北京建站公司
  • 厦门做网站的公司免费信息推广网站
  • 免费个人网站建设信息流广告优化
  • 网站备案查询 工信部seo文章范文
  • 南宁网站建设公司seo优化搜索引擎优化的具体操作
  • 做偏门网站网站seo李守洪排名大师