一、SQLAlchemy AsyncSession CRUD 速查类型核心方法返回值新增add()None批量新增add_all()None查询单条get()对象 / None需要知道主键id条件查询execute()Result获取对象查询scalars()ScalarResult修改update()Result删除delete()Result / NoneORM 删除提交commit()None回滚rollback()None刷新refresh()None刷新 SQLflush()None4个重点ResultSQL 执行结果需要进一步提取。ORM 对象可以直接通过obj.field获取或修改属性。List多条记录组成的列表可以直接使用for遍历。result.scalars()返回 ScalarResult 对象。2. ScalarResult 常用方法方法返回值作用.all()list获取所有结果返回列表.first()对象或None获取第一条结果.one()对象必须恰好有一条否则抛出异常.one_or_none()对象或None最多一条多条则抛出异常.fetchmany(3)list获取指定数量的结果.unique()ScalarResult对结果进行去重.close()None关闭结果对象2. 常见使用方式操作写法返回结果查询全部(await session.scalars(select(AirInfo))).all()list[AirInfo]查询第一条(await session.scalars(select(AirInfo))).first()AirInfo / None查询唯一一条(await session.scalars(select(AirInfo))).one()AirInfo查询唯一或空(await session.scalars(select(AirInfo))).one_or_none()AirInfo / None条件查询(await session.scalars(select(AirInfo).where(AirInfo.id 1))).first()AirInfo / None3. session.execute() 和 session.scalars() 的区别对比session.execute()session.scalars()返回结果ResultScalarResult是否需要.scalars()通常需要不需要获取 ORM 对象result.scalars().all()result.all()获取原始行数据result.all()不适用相同语义二、修改方式一查询对象后修改obj await session.get(AirInfo, 1) if obj: obj.aircraft_no A02 await session.commit()方式二直接执行 UPDATEawait session.execute( update(AirInfo) .where(AirInfo.id 1) .values(aircraft_noA02) ) await session.commit()三、删除方式一先查询再删除obj await session.get(AirInfo, 1) if obj: await session.delete(obj)方式二直接条件删除await session.execute( delete(AirInfo).where(AirInfo.id 1) ) await session.commit()