【SQLAlChemy】Query函数可传入的参数有哪些?

2024-06-10 20:28

本文主要是介绍【SQLAlChemy】Query函数可传入的参数有哪些?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Query 函数的使用

参数种类

一般可以传递的参数有如下三种:

  1. 模型名。指定查找这个模型的全部属性(对应于数据库查询中的全表查询)。
  2. 模型中的属性。可以用来指定只查询某个模型的几个属性值。
  3. 使用聚合函数。
    • func.count():统计行的数量。
    • func.avg():求平均值。
    • func.max():求最大值。
    • func.min():求最小值。
    • func.sum():求和。

测试使用

数据表数据

参数为模型名

# 参数为 模型名 -- 全表查询
users = session.query(User).all()
for user in users:print(user)

结果输出:

<User(name=ypb, age=18)>
<User(name=yxc, age=22)>

参数为模型属性

# 参数为 模型名中的属性 -- 返回对应的数据
users_name = session.query(User.name).all()
for user_name in users_name:print(user_name)

结果输出:

('ypb',)
('yxc',)

参数为聚合函数

# 参数为 mysql 聚合函数
# 查询用户的数量
users_sum = session.query(func.count(User.id)).first()
print(users_sum)
'''
输出结果为:(2,)
'''
# 查询所有用户年龄的平均值
users_age_avg = session.query(func.avg(User.age)).first()
print(users_age_avg)
'''
输出结果为:(Decimal('20.0000'),)
'''
# 查询所有用户中最大的年龄
user_max_age_name = session.query(func.max(User.age)).first()
print(user_max_age_name)
'''
输出结果为:(22,)
'''
# 查询所有用户中年龄最大的人的姓名
user_max_age = session.query(func.max(User.age)).scalar()
print(user_max_age)
user_max_age_name = session.query(User.name).filter(User.age == user_max_age).first()
print(user_max_age_name[0])
'''
输出结果为:
22
yxc
'''
# 查询出年龄低于平均年龄的用户名
user_avg_age = session.query(func.max(User.age)).scalar()
user_age_less_than_avg_age_name = session.query(User.name).filter(User.age < user_avg_age).scalar()
print(user_age_less_than_avg_age_name)
'''
输出结果为:ypb
'''

总结

在查询时,主要查询的结果是个集合还是单个数据,这一点非常重要。

这篇关于【SQLAlChemy】Query函数可传入的参数有哪些?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1049181

相关文章

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

C++中::SHCreateDirectoryEx函数使用方法

《C++中::SHCreateDirectoryEx函数使用方法》::SHCreateDirectoryEx用于创建多级目录,类似于mkdir-p命令,本文主要介绍了C++中::SHCreateDir... 目录1. 函数原型与依赖项2. 基本使用示例示例 1:创建单层目录示例 2:创建多级目录3. 关键注

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

基于@RequestParam注解之Spring MVC参数绑定的利器

《基于@RequestParam注解之SpringMVC参数绑定的利器》:本文主要介绍基于@RequestParam注解之SpringMVC参数绑定的利器,具有很好的参考价值,希望对大家有所帮助... 目录@RequestParam注解:Spring MVC参数绑定的利器什么是@RequestParam?@

kotlin的函数forEach示例详解

《kotlin的函数forEach示例详解》在Kotlin中,forEach是一个高阶函数,用于遍历集合中的每个元素并对其执行指定的操作,它的核心特点是简洁、函数式,适用于需要遍历集合且无需返回值的场... 目录一、基本用法1️⃣ 遍历集合2️⃣ 遍历数组3️⃣ 遍历 Map二、与 for 循环的区别三、高

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st

MySQL中COALESCE函数示例详解

《MySQL中COALESCE函数示例详解》COALESCE是一个功能强大且常用的SQL函数,主要用来处理NULL值和实现灵活的值选择策略,能够使查询逻辑更清晰、简洁,:本文主要介绍MySQL中C... 目录语法示例1. 替换 NULL 值2. 用于字段默认值3. 多列优先级4. 结合聚合函数注意事项总结C

SpringBoot接收JSON类型的参数方式

《SpringBoot接收JSON类型的参数方式》:本文主要介绍SpringBoot接收JSON类型的参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、jsON二、代码准备三、Apifox操作总结一、JSON在学习前端技术时,我们有讲到过JSON,而在

JAVA虚拟机中 -D, -X, -XX ,-server参数使用

《JAVA虚拟机中-D,-X,-XX,-server参数使用》本文主要介绍了JAVA虚拟机中-D,-X,-XX,-server参数使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录一、-D参数二、-X参数三、-XX参数总结:在Java开发过程中,对Java虚拟机(JVM)的启动参数进