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:求和

  • 相关阅读:
    js数组直接赋值会导致一个数组改变,另一个数组会随之改变(解决办法)
    css兼容性问题
    12种CSS BUG解决方法与技巧
    js的运算小数点的问题
    DataTable相关操作,筛选,取前N条数据,去重复行,获取指定列数据
    js得到区域长宽
    DataView.RowFilter筛选DataTable中的数据
    图片加载问题
    kissy延迟加载demo
    解决css兼容性
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/11808512.html
Copyright © 2011-2022 走看看