前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flask学习与项目实战5:通过SQLAlchemy连接数据库进行ORM模型的简单增删改查

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

作者头像
程序员洲洲
发布2024-06-07 10:14:55
960
发布2024-06-07 10:14:55
举报
文章被收录于专栏:项目文章项目文章

SQLAlchemy介绍

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

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

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

安装

输入命令:pip install flask-sqlalchemy

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

代码语言:javascript
复制
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()即可创建数据库表了。

代码语言:javascript
复制
#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()

增加

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

增删改查

代码语言:javascript
复制
@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()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SQLAlchemy介绍
  • 安装
  • 创建数据库表及定义字段
  • 增加
  • 增删改查
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档