flask后端开发(8):Flask连接MySQL数据库+ORM增删改查

server/2025/2/28 21:39:25/
目录

在Flask中,很少会使用pymysql直接写原生SQL语句去操作数据库,更多的是通过SQLAichemy提供的ORM技术,类似于操作普通Python对象一样实现数据库的增删改查操作,而Flask-SQLAlchemy是需要单独安装的,因为Flask-SQLAlchemy依赖SQLAlchemy,所以只要安装了Flask-SQLAlchemy,SQLAlchemy会自动安装。

pip install flask-sqlalchemy

数据库初始化

在终端中输入

# 登录数据库
mysql -u root -p
# 创建数据库(支持中文)
CREATE DATABASE database_learn DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

数据库连接

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import textapp=Flask(__name__)# 设置连接数据库的信息
HOSTNAME='127.0.0.1'
PORT=3306
USERNAME='root'
PASSWORD='123456'
DATABASE='database_learn'# 设置连接数据库的URL
app.config['SQLALCHEMY_DATABASE_URI']=f'mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8mb4'# 在app.config中设置好连接数据库的信息,然后使用SQLLichemy(app)创建一个db对象
# SQLAlchemy会自动读取app.config中连接数据库的信息db=SQLAlchemy(app)with app.app_context():with db.engine.connect() as conn:result=conn.execute(text("select 1"))print(result.fetchone())@app.route('/')
def hello_world():return 'Hello World!'if __name__ == '__main__':app.run(debug=True)

一个ORM模型与一个数据库中的一张表对应

创建数据库

其实就是创建一个ORM模型,而且user表有属性是username和password
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

添加用户

在这里插入图片描述

在这里插入图片描述

查询用户

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
我刷新了两次add页面,所以有两个添加张三

更新用户

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

删除

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/server/171389.html

相关文章

网络安全体系

🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 网络安全体系 目前计算机网络面临的主要风险包括利用系统漏洞、暴力破解密码、病毒和木马、系统扫描、DoS、网络钓鱼和中间人攻击(MITM)等…

docker container 修改 Mounts

docker container 修改 Mounts 原创 mob64ca12f212462024-05-12 06:11:57©著作权 文章标签docker重启Docker文章分类Docker云计算阅读数332 给大家分享了关于【Docker】的学习资料: https://edu.51cto.com/course/34009.html Docker容器修改Mounts 在Dock…

深度探索:DeepSeek与鸿蒙HarmonyOS应用开发的深度融合

文章目录 一、概述1.1 什么是DeepSeek?1.2 鸿蒙HarmonyOS的特点 二、技术优势与应用场景2.1 技术优势2.2 应用场景 三、开发指南3.1 环境搭建3.2 集成AI模型3.3 分布式任务调度 四、实际案例分析4.1 智能家居控制4.2 智能健康监测 五、未来展望《AI智能化办公&#…

基于Spring Boot和Vue的餐饮管理系统设计与实现

大家好,今天要和大家聊的是一款基于Spring Boot和Vue的餐饮管理系统的设计与实现。项目源码以及部署相关事宜请联系我,文末附上联系方式。 项目简介 基于Spring Boot和Vue的餐饮管理系统设计与实现的主要使用者分为管理员、员工和用户。没有授权的用户无…

IO进程 day05

IO进程 day05 9. 进程9. 9. 守护进程守护进程的特点守护进程创建步骤 10. 线程10.1. 线程的概念10.2. 进程和线程的区别10.2. 线程资源10.3. 线程的函数接口1. pthread_create-创建线程线程函数和普通函数的区别 2. pthread_exit3.线程资源回收函数join和detach的区别 获取线程…

Java 抽象类与接口:深入理解与应用

文章目录 Java 抽象类与接口:深入理解与应用1. 抽象类(Abstract Class)1.1 定义1.2 特点1.3 使用场景 2. 接口(Interface)2.1 定义2.2 特点2.3 使用场景 3. 抽象类与接口的区别4. 如何选择抽象类还是接口?5…

快速排序(c++)

快速排序是目前应用最广泛的排序算法之一,"它的基本思想与归并排序类似,也是基于分治的。每次从待排序区间选取一个元素(我们在后面的课程中都是选取第一个)作为基准,所有比基准小的元素都在基准的左边,而所有比基准大的元素…

数据在内存中的存储

数据在内存中的存储 一 . 整数在内存中的存储1.1整型的表示方法1.2为什么对于整形在内存中要存放补码? 二 . 大小端字节序和字节序判断2.1什么是大小端字节序?2.2大小端字节序的概念2.3如何判断当前机器的大小端字节序 三 . 浮点数在内存中的存储3.1 占据32位的浮点数3.1.1有…