zoukankan      html  css  js  c++  java
  • 三十二:数据库之SQLAlchemy.query函数可查询的数据和聚合函数

    准备工作

    from sqlalchemy import create_engine, Column, Integer, String, Float
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy.orm import sessionmaker

    # 数据库信息
    host = '127.0.0.1'
    port = '3306'
    database = 'db_to_sqlalchemy'
    username = 'root'
    password = '123456'

    # 数据库类型+连接数据库的插件,这里使用的pymysql
    DB_URI = f'mysql+pymysql://{username}:{password}@{host}:{port}/{database}'

    engine = create_engine(DB_URI) # 创建引擎
    Base = declarative_base(engine) # 使用declarative_base创建基类
    session = sessionmaker(engine)()


    class Article(Base):
    __tablename__ = 'article'
    id = Column(Integer, primary_key=True, autoincrement=True)
    title = Column(String(50), nullable=False)
    price = Column(Float, nullable=Float)

    def __repr__(self):
    return f'Article(title): {self.title}、Article(price): {self.price}'


    Base.metadata.create_all() # 创建数据库

    # 造测试数据
    import random

    for x in range(6):
    article = Article(title=f'title{x}', price=random.randint(1, 100))
    session.add(article)
    session.commit()

    query函数可查询数据
    1、模型对象
    2、模型中的属性,可以指定只查找某个模型的其中几个属性
    3、聚合函数

    1、模型对象

    2、模型中的属性,可以指定只查找某个模型的其中几个属性

    3、聚合函数,导入func对象

    func源码

    _FunctionGenerator源码

    也就是说sql语句中的聚合函数这里都可以使用

    func.count:统计行的数量

    func.avg:求平均值

    func.max:求最大值

    func.min:求最小值

    func.sum:求和

  • 相关阅读:
    AC自动机---病毒侵袭
    线段树或树状数组---Flowers
    AC自动机---Keywords Search
    AC自动机基础知识讲解
    线段树---Atlantis
    状态压缩DP---Hie with the Pie
    状态压缩DP--Mondriaan's Dream
    【PAT-并查集-水题】L2-007-家庭房产
    【PAT-一道看着很难的水题】L2-023. 图着色问题
    【二叉搜索树】PAT-天梯赛- L2-004. 这是二叉搜索树吗?
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/11808512.html
Copyright © 2011-2022 走看看