百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Flask项目实战十三之SQLAlchemy数据框架技巧(二)

ccwgpt 2025-03-26 10:17 35 浏览 0 评论

4、数据库实例操作(以下示例为独立使用mysql的方式即使用原声的sqlalchemy,并没有跟flask关联使用):

# mysql数据库的连接
from sqlalchemy import create_engine, Column, Integer, String, DateTime, Table, MetaData
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, scoped_session

# 连接mysql数据库
engine = create_engine('mysql+pymysql://root:root@localhost/woniunote')

# 定义连接模型父类,数据连接会话
DBsession = sessionmaker(bind=engine)
# 线程安全
dbsession = scoped_session(DBsession)
# 其它模型需要继续的父类,创建base对象实例
Base = declarative_base()
# 定义元数据
md = MetaData(bind=engine)


# 定义模型类
class Users(Base):
    # 数据库名
    __table__ = Table('user', md, autoload=True)


if __name__ == '__main__':
    # 不带任何条件的查询all()查询并返回所有, first() 为查询并返回第一条
    # result = dbsession.query(Users).all()
    # 带条件的查询,采用条件参数的方式,这种条件参数写法需要从类名开始取
    # result = dbsession.query(Users).filter(Users.userid == 1).all()
    # 带条件的查询,采用字典方式查询,使用filter_by的函数
    # result = dbsession.query(Users).filter_by(userid=1).all()
    # # # 定义查询字段,并有查询条件,只获取第一条结果
    result = dbsession.query(Users.userid, Users.nickname).filter(Users.userid >= 1).first()
    print(result.nickname)
    # 直接获取查询返回的对象和地址
    print(result)
    # 直接获取可以通过[数组].字段名
    print(result[0].nickname)
    # 使用循环的方式获取每一行的内容
    for row in result:
        # 通过字row后面的字段名获取相应字段的内容
        print(row.userid, row.nickname)
# 新增
# user = Users(username='reader2@@niuxy.com', password='123456', role='editor', credit=50)
# dbsession.add(user)
# dbsession.commit()

# 修改,需要先查询再操作
# row = dbsession.query(Users).filter_by(userid=2).first()
# row.credit = '50'
# dbsession.commit()

# 删除

row = dbsession.query(Users).filter(Users.userid >= 3).delete()
dbsession.commit()

注:

1、filter引用列名时,使用“类名.属性名”的方式,比较使用两个等号“==”

2、filter_by引用列名时,使用“属性名”,比较使用一个等号“=”

3、在使用多条件匹配的时候,filter需要借助sqlalchemy里的and_ ; 而filter_by不需要,直接把多个匹配条件写在一起

4、在使用多条件匹配时,用到>=、>、<=、<的情况,貌似不能使用filter_by。

相关推荐

公司组织架构及部门职责#管理制度 #薪酬绩效 #组织架构

...

终于把“公司组织架构与管理部岗位配置”整理好了,拿来即用!

...

老板看完这份“公司组织架构详解”就解放了!

...

丨公司丨公司大架构整理汇总

注:本文转自团队成员原创作品,特此鸣谢(公号:法海图鉴)今日话题公司大架构整理背景介绍经过前几期话题对各种企业类型的介绍,想必大家已经有了初步认识。之后我将带着大家开启对公司的深入了解。本期...

图解物理--八年级物理下册最全知识框架导图

第七章力1力2弹力3重力第八章运动和力1牛顿第一定律2二力平衡3摩擦力第九章压强1压强2液体压强3大气压强4流体压强与流速的关系第十章浮力1浮力2阿基米德原理3物体的浮沉条件及应用第十一章功...

八年级上册生物,思维导图,期末高分必备资料,家长收藏

这是八年级上册生物的思维导图,孩子在背诵知识点的时候,可以看一下知识点在导图中的位置,形成对知识点整体的把握,有助于学生拿高分,特别是图片中带红色星星的部分,更是要注意背诵,是重点内容。家长可以把图片...

2019政府工作报告精华,这张思维导图里全都有

每经记者:李可愚每经编辑:陈星每日经济新闻

图解薪酬体系结构设计

...

司考复习独家总结!一张图总结行政法知识结构体系

作为三大实体法之一,行政法的分值在60分左右,行政法在司法考试中一直比较平稳常规,没有偏题怪题,还是比较容易得分的。小编要提醒大家,在3月之前要把三大实体法学习一遍。下图是厚大在线360导学师小周总结...

一图读懂香港国安新架构:各职位人选公布 有官员曾强硬喊话乱港分子

实用干货!高中物理框架图,让零碎知识“串联”起来

高中物理学习一定要抓好逻辑结构大框架!了解整个知识框架体系后,更易抓住骨干知识,干掉重难知识点~今天给大家分享高中物理的框架图同学们赶紧收藏起来吧!力学知识结构图光学知识结构图热学、原子物理知识结构图...

254m超高层办公楼型钢砼框架-核心筒结构图

高度类别:超高层建筑钢筋混凝土结构:框架,框架核心筒钢结构:钢框架建筑功能:办公包含:办公楼57层(-3层)254.150m钻孔灌注桩桩+筏板型钢混凝土框架-钢筋混凝土核心筒西裙房2层(-...

砖混结构与框架结构,究竟有何区别?千万别被坑!

现在买房装修的人最怕啥?不是价格高,而是房子不安全!两种主流建筑结构,砖混靠墙,框架靠柱子,选错了隔墙都可能要命。简单说,砖混便宜但别碰高层,框架贵点但能保命。砖混那些承重墙根本不能拆,想砸墙改个开放...

大师一百——高中化学必考:《元素周期律》考点框架图

今天大师给大家带来的是高中化学的《元素周期律》考点框架图,高中的同学必须牢记于心,这种重要的考点,考试是一定会考的!化学大师...

需求分析框架图

需求分析框架图

取消回复欢迎 发表评论: