首页 > 其他分享 >常见的查询操作

常见的查询操作

时间:2024-07-09 17:08:30浏览次数:15  
标签:sal 常见 list 查询 emp sql Employee 操作 row

1)根据主键查询
emp = session.get(Emp, 1)
2) 查询整张表的数据

a、返回模型对象

statement = select(Employee)
list_emp = session.scalars(statement).all()
for o in list_emp:
print(o)
# 需要在Employee模型类中增加一个__str__函数
def __str__(self):
return f'{self.name}, {self.gender.value}, {self.sal}, {self.entry_date}'

b、返回row对象,一般用于指定返回的字段

statement = select(Employee.name, Employee.sal, Employee.gender)
# list_emp中的元素不是模型对象, 而是包含多个字段只的row对象
list_emp = session.execute(statement).all()
for row in list_emp:
print(row.name, row.sal, row.gender.value)

c、执行原生的SQL,并返回row对象

执行原生sql
sql_text = text('select id, name, sal, gender from t_emp')
# list_emp中的元素不是模型对象, 而是包含多个字段只的row对象
list_emp = session.execute(sql_text).all()
for row in list_emp:
print(row)
print(row.name, row.sal, row.gender)

d、执行原生的sql,并返回模型对象

执行原生sql
sql_text = text('select id, name, sal, gender from t_emp')
# 手动建立映射关系
new_sql = sql_text.columns(Employee.id, Employee.name, Employee.sal,
Employee.gender)
# 得到orm的查询语句
orm_sql = select(Employee).from_statement(new_sql)
# list_emp中的元素是模型对象
list_emp = session.execute(orm_sql).scalars()
for o in list_emp:
print(type(o))
print(o)

 

标签:sal,常见,list,查询,emp,sql,Employee,操作,row
From: https://www.cnblogs.com/yongheng999/p/18292337

相关文章

  • 【PHP】关于fastadmin框架中使用with进行连表查询时setEagerlyType字段的理解
    前言FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一款开源且免费商用的后台开发框架,它基于ThinkPHP和Bootstrap两大主流技术构建的极速后台开发框架,它有着非常完善且强大的功能和便捷的开发体验,使我逐渐喜欢上了它。什么是setEagerlyType?1.回归正题,什么是setEagerl......
  • Mybatis -过滤查询
    一、过滤查询过滤查询实则是根据用户传入的条件进行数据的筛选查询,最终返回结果给用户。1、需求及效果图例如:在商品列表中,用户可以根据自己的需要,按照商品的名称和价格范围对商品进行查询。2、原理分析以上条件设计,后台需执行的 SQL会有如下几种: 需求1:查询所有货品......
  • 新增模型对象操作
    对模型对象进行新增,有两种方式:<!--第一种:类SQL方式-->insert_stmt=insert(User).values(name='name1')withSession()assess:sess.execute(insert_stmt)sess.commit()<!--未绑定参数-->insert_stmt2=insert(User)withSession()assess:sess.execute(insert_......
  • 关联查询
     #关联查询   isouter=True表示使用外连接#1、查询2020年入职的员工姓名以及该员工的所在部门名称result=session.execute(select(Employee.name,Dept.name).join(Dept,isouter=True).where(extract('year',Employee.entry_date)==2018))#2、查询省份号码是:11111......
  • 北京市企业科技研究开发机构认定常见问题
    在申请北京市企业科技研究开发机构认定的过程中,众多企业常面临一系列共性问题,这些问题往往关乎申报资格、材料准备、评审标准及后续支持政策等关键环节。比如,如何界定“研究开发费用占销售收入的比例”?研发机构的组织结构与职能定位应如何设置以符合认定要求?已提交的材料如何......
  • 6. DQL-多表查询
        本小节主要讲解数据库的多表查询功能,可实现从多个表中查询数据,多表查询内容包括内连接,外连接,笛卡尔积,等值连接,非等值连接,SQL99标准链接语法以及联合查询。6.1.1多表查询的介绍从多个表中获取数据思考如下问题?写一条查询语句,查询员工姓名、部门名称、工作地点? ......
  • 【Python】Word文档操作
     一、全文替换不是创建word文档写入内容,而是基于现有的Word文档进行替换处理使用run.text直接赋值修改发现样式会丢失,而网上大部分办法都是这么写的...直到我看到这篇文章的评论:https://blog.csdn.net/qq_40222956/article/details/106098464 除了段落替换后,Word文档......
  • oracle登录常见问题
    常见问题问题一:bash:sqlplus:commandnotfound...sqlplus/assysdba 解决方法:出现这个情况就是环境变量没有设置好, 重新设置环境变量就可以了, 使用 su-l oracle 就没问题(每次重启服务器都要导入一遍) 问题一:用户名密码不对解决方法:切换为oracle用户......
  • 用Python1000多行代码实现ATM操作系统
    基于Python实现ATM操作系统概要基于Python语言,实现ATM的基本功能,包括查询余额、存款、取款、转账、注册等基本功能。能够实现用户和管理员两种身份识别,管理员有权限对系统做出修改,包括提升用户级别、关闭系统等操作。用户信息保存于user_data.txt文件中,也可自行接入数据库......
  • 7 常见问题
    关于ssh连接一些常见的错误说明ERROR!tousethe'ssh'connectiontypewithpasswords,youmustinstallthesshpassprogram完整错误示例如下:root@ctnr:/etc/ansible#ansible'*.a32-168-1.*'-mpingctnr.a32-168-1.prod.yiz|FAILED!=>{"fail......