sqlalchemy.sql.func中文文档解析
发布时间:2023-12-14 01:07:51
SQLAlchemy是一个功能强大且灵活的Python SQL工具包,它提供了一种以SQL表达式和SQL表达式语言为基础的关系数据库访问方法。sqlalchemy.sql.func是SQLAlchemy中的一个模块,它提供了一些常用的SQL函数,可以方便地在SQLAlchemy中执行各种操作。
下面是sqlalchemy.sql.func中文文档的解析及使用例子:
一、文档解析:
1. abs(x)
该函数返回一个参数x的绝对值。
使用方式:
from sqlalchemy.sql import func stmt = select([func.abs(-10)]) print(engine.execute(stmt).scalar()) // 输出:10
2. avg(x)
该函数返回一个参数x的平均值。
使用方式:
from sqlalchemy.sql import func stmt = select([func.avg(table.c.column)]) print(engine.execute(stmt).scalar()) // 输出:平均值
3. count(x)
该函数返回一个参数x的计数。
使用方式:
from sqlalchemy.sql import func stmt = select([func.count(table.c.column)]) print(engine.execute(stmt).scalar()) // 输出:计数值
4. max(x)
该函数返回一个参数x的最大值。
使用方式:
from sqlalchemy.sql import func stmt = select([func.max(table.c.column)]) print(engine.execute(stmt).scalar()) // 输出:最大值
5. min(x)
该函数返回一个参数x的最小值。
使用方式:
from sqlalchemy.sql import func stmt = select([func.min(table.c.column)]) print(engine.execute(stmt).scalar()) // 输出:最小值
6. sum(x)
该函数返回一个参数x的总和。
使用方式:
from sqlalchemy.sql import func stmt = select([func.sum(table.c.column)]) print(engine.execute(stmt).scalar()) // 输出:总和
二、使用例子:
假设我们有一个表格students,其中包含学生的姓名、年龄和成绩。我们将使用sqlalchemy.sql.func来执行一些常见的查询操作。
首先,我们需要创建一个students表格的对象:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('sqlite:///students.db')
Base = declarative_base()
class Student(Base):
__tablename__ = 'students'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
score = Column(Integer)
def __repr__(self):
return f"<Student(name='{self.name}', age={self.age}, score={self.score})>"
接下来,我们将创建一个学生对象,并将其保存到数据库中:
from sqlalchemy.orm import sessionmaker Session = sessionmaker(bind=engine) session = Session() student1 = Student(name='Alice', age=18, score=90) student2 = Student(name='Bob', age=19, score=85) student3 = Student(name='Cathy', age=20, score=95) session.add_all([student1, student2, student3]) session.commit()
然后,我们将使用sqlalchemy.sql.func来执行一些查询操作:
from sqlalchemy import select
from sqlalchemy.sql import func
stmt = select([func.avg(Student.score)]) // 计算平均成绩
average_score = session.execute(stmt).scalar()
print(f"Average score: {average_score}")
输出结果为:
Average score: 90.0
接下来,我们将使用sqlalchemy.sql.func来执行一些聚合查询操作:
stmt = select([func.count(Student.name)]) // 计算学生人数
student_count = session.execute(stmt).scalar()
print(f"Student count: {student_count}")
stmt = select([func.max(Student.age)]) // 计算年龄最大值
max_age = session.execute(stmt).scalar()
print(f"Max age: {max_age}")
stmt = select([func.min(Student.score)]) // 计算成绩最小值
min_score = session.execute(stmt).scalar()
print(f"Min score: {min_score}")
stmt = select([func.sum(Student.score)]) // 计算成绩总和
total_score = session.execute(stmt).scalar()
print(f"Total score: {total_score}")
输出结果为:
Student count: 3 Max age: 20 Min score: 85 Total score: 270
以上就是sqlalchemy.sql.func中文文档的解析及使用例子,希望对您有所帮助!
