Flask学习与项目实战5:通过SQLAlchemy连接数据库进行ORM模型的简单增删改查

简介: 是对于数据库的ORM的框架,直接操作模型,安装命令为pip install SQLAlchemy。SQLAlchemy是一个独立的ORMR框架,可以独立于FLASK存在,也可以在Django中使用。Flask-SQLAlchemy是对SQLAlchemy的一个封装,更适合在flask使用。

SQLAlchemy介绍


是对于数据库的ORM的框架,直接操作模型,安装命令为pip install SQLAlchemy。


SQLAlchemy是一个独立的ORMR框架,可以独立于FLASK存在,也可以在Django中使用。


Flask-SQLAlchemy是对SQLAlchemy的一个封装,更适合在flask使用。

安装

输入命令:pip install flask-sqlalchemy

然后再输入命令:pip install pymysql 这个库是用来连接数据库的

from sqlalchemy import create_engine
# 数据库的配置变量
HOSTNAME = '127.0.0.1'
PORT     = '3306'
DATABASE = 'zhou'
USERNAME = 'root'
PASSWORD = 'nidemima'
DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE)
# 创建数据库引擎
engine = create_engine(DB_URI)
#创建连接
with engine.connect() as con:
    rs = con.execute('SELECT 1')
    print rs.fetchone()

其中track第14行代码是跟踪修改。这个可以设置的。(我不设置这个就不能正常运行,好像是py的新版本要求。)

创建数据库表及定义字段

通过方框内代码既可以进行ORM模型的使用,然后create_all()即可创建数据库表了。

#ORM模型
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)
db.create_all()

增加

@app.route("/article")
def article_view():
    #id是自动增长的不需要设置 先建立一个对象 然后进行增加
    article = Article(title="洲的学习笔记",content="洲")
    db.session.add(article)
    #添加
    db.session.commit()
    #提交
    return  "操作成功"

增删改查

@app.route("/article")
def article_view():
        #1.增加数据  id是自动增长的不需要设置
        #article = Article(title="洲的学习笔记",content="洲")
        #db.session.add(article)
        #添加
        #db.session.commit()
        #提交
        #return  "操作成功"
        #2.查询数据
        #article = Article.query.filter_by(id=1)[0]
        #返回一个类列表的对象
        #print(article.title)
        #3.修改数据
        article = Article.query.filter_by(id=1)[0]
        article.content = "zhouzhou"
        db.session.commit()
        #4.删除数据
        article = Article.query.filter_by(id=1).delete()
        db.session.commit()
相关文章
|
SQL 数据库 开发者
Python中使用Flask-SQLAlchemy对数据库的增删改查简明示例
这样我们就对Flask-SQLAlchemy进行了一次简明扼要的旅程,阐述了如何定义模型,如何创建表,以及如何进行基本的数据库操作。希望你在阅读后能对Flask-SQLAlchemy有更深入的理解,这将为你在Python世界中从事数据库相关工作提供极大的便利。
1159 77
|
人工智能 数据挖掘 API
基于neo4j数据库和dify大模型框架的rag模型搭建——后续补充
基于neo4j数据库和dify大模型框架的rag模型搭建——后续补充
1261 21
基于neo4j数据库和dify大模型框架的rag模型搭建——后续补充
|
Java 数据库 Docker
基于neo4j数据库和dify大模型框架的rag模型搭建
基于neo4j数据库和dify大模型框架的rag模型搭建
4285 35
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
696 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
1641 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
730 15
|
SQL NoSQL 关系型数据库
数据库学习
【10月更文挑战第8天】
339 1
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
1458 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
3246 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库