准备工作
from sqlalchemy import create_engine,Column,Integer,String,Floatfrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy.orm importsessionmaker# 数据库信息host =127.0.0.1port =3306database =db_to_sqlalchemyusername =rootpassword =123456# 数据库类型+连接数据库的插件,这里使用的pymysqlDB_URI = fmysql+pymysql://{username}:{password}@{host}:{port}/{database}engine = create_engine(DB_URI)# 创建引擎Base= declarative_base(engine)# 使用declarative_base创建基类session = sessionmaker(engine)()classArticle(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 fArticle(title): {self.title}、Article(price): {self.price}Base.metadata.create_all()# 创建数据库# 造测试数据importrandomfor xin range(6): article =Article(title=ftitle{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:求和