flask-sqlalchemy连接数据库

news/2024/5/17 13:34:48/文章来源:https://blog.csdn.net/qq_55621259/article/details/126661725

1、安装flask_sqlalchemy和pymysql包

pip install flask-sqlalchemy
pip install pymysql

2、进行配置

使用Flask-SQLAlchemy扩展操作数据库,首先需要通过URL建立数据库连接,必须保存到Flask配置对象的SQLALCHEMY_DATABASE_URI中。

HOSTNAME = '127.0.0.1'
PORT     = '3306'
DATABASE = 'flask_test'
USERNAME = 'root'
PASSWORD = 'root'
DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE)
app.config['SQLALCHEMY_DATABASE_URI'] = DB_URI

其中HOSTNAME为路由地址

PORT为端口号,我在创建数据库时没有更改,所以用的默认的3306端口号

DATABASE为数据库名字

后面两个参数为数据库用户名和密码

3、创建SQLALchemy实例

db = SQLAlchemy(app)

我这里创建的实例记为db

4、创建ORM类

创建这个类必须继承db.Model !!!

class Article(db.Model):__tablename__ = "article"id = db.Column(db.Integer, primary_key=True, autoincrement=True)title = db.Column(db.String(200), nullable=False)content = db.Column(db.Text, nullable=False)

第二行设置数据库表名为article。第三行设置id项,将其设置为整数项,并且设置为主键以及自动增长。第四行设置title项,将其设置为含200个字符的字符串,并设置不能非空。第五行设置content项,将其设置为db.Text格式并且设置不能非空。

5、创建表

db.create_all()

然后就会发现,数据库中多出一张表:

当然,这张表目前还是空的

 6、在表中增删查改数据

 我们可以在一个视图函数中执行这些操作,当然也可以直接执行

@app.route("/article")
def article_view():# 添加数据article = Article(title="钢铁是怎样炼成的", content="xxx")db.session.add(article)db.session.commit()# # 查询数据# article = Article.query.filter_by(id=1)[0]# print(article.title)# # # 修改数据# article = Article.query.filter_by(id=1)[0]# article.content = "yyy"# db.session.commit()# # # 删除数据# article = Article.query.filter_by(id=1)[0]# db.session.delete(article)# db.session.commit()return "数据操作成功"

添加数据时没加id,是因为我们之前设置id的autoincrement为True,于是它会自动增加。 

执行完发现数据库中多出了如下: 

其他三步结果请自行查看。当然,如果想观察每一步的结果,在执行添加数据前最好最好先将其他三步加上注释,对于其他三步也是一样。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_4875.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL入门:数据库是什么 | SQL是什么 | MySQL是什么

文章目录数据库数据库管理系统(DBMS)的种类数据库的结构什么是SQLMySQLSQL语句 | 种类SQL 的基本书写规则存储引擎参考与总结全文约 3235 字,预计阅读时长: 9分钟数据库 存储数据用文件就可以了,为什么还要弄个数据库?…

dubbo和springCloud

Dubbo 高性能的java RPC框架 架构 init:初始化 async:异步 sync同步 0:需要容器启动例如Tomcat 1:注册ip端口以及一些东西到注册中心 2:订阅服务快速入门 Zookeeper(官方推荐注册中心,同时还有Redis,Simper,Multicast,Nacos等) 安装:默认端口2181 Dubbo快速入门 传统方法,需要…

C/C++后端开发学习路线总结(附带实习学习经历分享)

大家好哇,九月份了;不知道大家的工作或者实习都安排的怎么样了?反正狮作为一个过来人只能在各种论坛上面看到都是哀鸿遍野;暗自惊心感慨现在年轻人不好混啊~ 然后呢,狮最近后台收到不少C/C后端怎么学的邀请回答&#…

广西大学口袋开发板之抢答器

任务要求: 四名选手各有一个抢答按键,按键的编号以及指示灯(手柄板上的LED模块)的编号与选手的编号相对应,抢答器具有编号的识别和数据的锁存、显示以及提示音功能。 评分细则: 裁判按下开始键后&#x…

2022年0902Maven的继承和利用Idea创建Maven工程的内容<第五课>

目录 第一部分 Maven的继承 1 概念 2 作用 3 它的背景是: 4 它背后的需求是: 在每一个 module 中各自维护各自的依赖信息很容易发生出入,不易统一管理。 使用同一个框架内的不同 jar 包,它们应该是同一个版本,所…

电脑无线5g网卡发现不了网件R7000的Wifi 5g网络

原因是因为 网件R7000的5g网络默认是100的频道, 把频道固定的153然后把路由器离拖线板和其他设备远一点

第十章Redis_主从复制

10.Redis_主从复制 文章目录10.Redis_主从复制10.1主从复制是什么?10.2主从复制能干嘛10.3怎么玩:主从复制10.3.1在根目录下创建myredis文件夹10.3.2复制/etc/redis.conf文件到myredis下,文件名和之前保持一致10.3.3配置一主两从,创建三个配…

687 最长同值路径——Leetcode 天天刷(2022.9.2)【DFS】

687 最长同值路径——Leetcode 天天刷(2022.9.2)【DFS】 文章目录687 最长同值路径——Leetcode 天天刷(2022.9.2)【DFS】前言题目描述示例提示信息本地调试运行输入格式输出格式输入样例输出样例层次遍历构造二叉树解法——DFS细…

新店速递丨白玉兰(商务)酒店赣榆吾悦广场店 正式上线

第242家 白玉兰酒店再下连云港 2022年9月,锦江酒店(中国区)旗下优选服务酒店品牌“白玉兰酒店”连云港再添一员,迎来门店——白玉兰(商务)酒店赣榆吾悦广场酒店正式上线。这也是全国第242家开业的白玉兰酒…

Git做版本管理及CHANGELOG

规范化的提交信息除了能很好描述项目的修改,还有一个很好的作用就是能根据提交记录来生成CHANGELOG.MD和自动生成版本号等功能。 standard-version 一个用于生成CHANGELOG.md和进行SemVer(语义化版本号)发版的命令行工具 主要功能: 自动修改最新版本…

6-2 多项式求值——15分

本题要求实现一个函数,计算阶数为n,系数为a[0] … a[n]的多项式(上图) 在x点的值。 函数接口定义: double f( int n, double a[], double x );其中n是多项式的阶数,a[]中存储系数,x是给定点。函数须返回多项式f(x)的值。 裁判测试程序样例: #include <stdio.h>#def…

Docker - 容器的网络模式

目录 一、bridge模式 查看容器的有哪几种网络类型 二、host模式 三、none模式 四、container模式 五、overlay模式 创建一个桥接类型的网卡 使用刚才创建的网卡来创建容器 查看刚才使用网卡创建的容器的ip地址 我们指定网卡创建的容器IP地址是 &#xff1a;172.18.0.…

计算机网络——网络协议

目录 网络协议 网络协议的三要素 协议的分层模型 计算机网络层次结构的好处 计算机网络的体系结构 OSI与TCP/IP的体系结构的比较 网络协议 1、计算机网络中的数据交换必须遵守事先约定好的规则。 2、这些规则明确规定了所交换的数据的格式和时序&#xff0c;以及在发送或…

SpringBoot 整合 RabbitMQ 实现消息回调、手动确认 (二) 有图 有源码

创建时间 2022年8月29日 标签&#xff1a;Java、SpringBoot、RabbitMQ、队列 注释&#xff1a;新建SpringBoot项目实操RabbitMQ实现消息回调、手动确认 来源&#xff1a;CSDN博主&#xff1a;小目标青年 文章目录SpringBoot 整合 RabbitMQ 回调确认模式生产者推送消息回调1、消…

3天精通Postman---动态参数amp;断言amp;CSV数据驱动amp;Mock Server

DAY2课题&#xff1a;Postman接口关联&动态参数&断言&CSV数据驱动目录 一、接口关联&#xff0c;接口依赖&#xff0c;多接口串联&#xff0c;组合API 二、Postman的动态参数&#xff08;随机数&#xff09; 三、Postman的环境变量和全局变量 四、Postman断言 五、…

极端气候肆虐催化,碳中和带出了一个“再生时代”

江南一带的高温结束了&#xff0c;今年这场轰轰烈烈的高温&#xff0c;也画上了最后的句号。各地骤降的温度让人仿佛忘却了“热到爆表”的经历&#xff0c;但过去已经成为历史&#xff0c;历史充满痕迹。 格陵兰岛冰盖加速融化、欧洲莱茵河部分河段干涸、长江流域汛期反枯、重…

Cyclopropene-PEG-MAL Maleimide|环丙烯-聚乙二醇-马来酰亚胺

描述&#xff1a;环丙烯有机化合物。环丙烯是由三个碳原子构成的环烯烃&#xff0c;分子式为C3H4 &#xff0c;由于具有张力&#xff0c;环丙烯具有一些和其他环烯烃不同的性质。 理化性质 环丙烯在常温常压下为无色气体&#xff0c;沸点-36.15 &#xff0c;折射率1.489 。 环…

Git的安装与使用

1、Git的下载 2、git的安装 点击安装软件&#xff0c;一路安装到底&#xff0c;无需做任何选择 ...... 此处省略中间安装步骤 ...... 3、检验是否安装成功 在桌面右键&#xff0c;如果出现此图&#xff0c;表示安装成功 4、配置git 为了方便git客户端操作远程仓储方便&#…

Redis集群搭建(单机集群)

Redis入门篇https://blog.csdn.net/tongxin_tongmeng/article/details/126620333集群配置文件&#xff08;单机集群&#xff09; 1.复制/home/redis/redis-7.0.4/redis.conf到/home/redis/workspace/cluster_one cp /home/redis/redis-7.0.4/redis.conf /home/redis/workspace/…

私有化部署的知识管理平台对企业有什么意义?

随着企业的发展扩大&#xff0c;企业内部沉淀的知识也越来越多。过去很多企业都会将知识存储到云上&#xff0c;云部署模式虽然给企业带来了极大的便利&#xff0c;但在一些性能及数据安全上会存在一定的弊端&#xff0c;隐藏不少的企业会选择将数据存储在本地。下面我们就从企…