准备工作
from sqlalchemy import create_engine, Column, Integer, String, Floatfrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy.orm import sessionmaker# 数据库信息host = '127.0.0.1'port = '3306'database = 'db_to_sqlalchemy'username = 'root'password = '123456'# 数据库类型+连接数据库的插件,这里使用的pymysqlDB_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 randomfor 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:求和