zoukankan      html  css  js  c++  java
  • 【Flask】query可用参数

    ### query可用参数:
    1. 模型对象。指定查找这个模型中所有的对象。
    2. 模型中的属性。可以指定只查找某个模型的其中几个属性。
    3. 聚合函数。
    * func.count:统计行的数量。
    * func.avg:求平均值。
    * func.max:求最大值。
    * func.min:求最小值。
    * func.sum:求和。
    `func`上,其实没有任何聚合函数。但是因为他底层做了一些魔术,只要mysql中有的聚合函数,都可以通过func调用。

     1 # coding:utf-8
     2 # Author: liangjun.chen
     3 
     4 from datetime import date
     5 from datetime import datetime
     6 from datetime import time
     7 from random import random
     8 from sqlalchemy import create_engine, Column, Integer, String, Float, func
     9 
    10 from sqlalchemy.ext.declarative import declarative_base
    11 from sqlalchemy.orm import sessionmaker
    12 
    13 HOSTNAME = '127.0.0.1'
    14 PORT = 3306
    15 DATABASE = 'sqlalchemy_first'
    16 USERNAME = 'root'
    17 PASSWORD = '123456'
    18 
    19 DB_URI = 'mysql+pymysql://{username}:{password}@{host}:{port}/{dbname}?charset=utf8'.format(
    20         username=USERNAME, password=PASSWORD, host=HOSTNAME, port=PORT, dbname=DATABASE
    21 )
    22 engine = create_engine(DB_URI)
    23 Base = declarative_base(engine)
    24 Session = sessionmaker(engine)
    25 session = Session()
    26 
    27 
    28 class Article(Base):
    29     __tablename__ = 'article'
    30     id = Column(Integer, primary_key=True, autoincrement=True)
    31     title = Column(String(50), nullable=False)
    32     price = Column(Float, nullable=False)
    33 
    34     def __repr__(self):
    35         return "Article<title: {}, price: {}>".format(self.title, self.price)
    36 
    37 Base.metadata.drop_all()
    38 Base.metadata.create_all()
    39 for _ in xrange(6):
    40     article = Article(title='title{}'.format(_), price=random()*100)
    41     session.add(article)
    42 session.commit()
    43 
    44 # 查询结果为结果对象列表
    45 articles = session.query(Article).all()
    46 for arts in articles:
    47     print arts
    48 
    49 # 查询结果为元组
    50 articles = session.query(Article.title, Article.price).all()
    51 print articles
    52 
    53 # 聚合函数
    54 print session.query(func.count(Article.id)).all()
    55 print session.query(func.avg(Article.price)).all()
    56 print session.query(func.max(Article.price)).all()
    57 print session.query(func.min(Article.price)).all()
    58 print session.query(func.sum(Article.price)).all()
  • 相关阅读:
    Ubuntu修改root默认密码
    2012年总结
    阿朵,网上传得沸沸扬扬,我们还是听听她的歌吧!
    人力资源开发网站
    关于ant
    ObjectSpaces
    firefox plugs
    xpi插件的安装
    年关
    https的资源
  • 原文地址:https://www.cnblogs.com/chen0427/p/8635551.html
Copyright © 2011-2022 走看看