User这个类创建的表 User1这个类创建的表
基本查询结果
# 1查看sql原生语句
rs=session.query(User).filter(User.username=='budong')print(rs)
# 2query(module) .all()
rs=session.query(User).filter(User.username=='budong').all() #.all list
print(rs, type(rs[0])) #索引取值 当query(module) 类型为User类的实例对象
print(rs[0].username,rs[0].id) #rs[0]这个实例对象通过.username,.id取得值
#3 hasattr() getattr()#没有这条数据则会报错超出索引 先判断是否存在hasattr() ,再取值getattr()数据不存在报错
print(hasattr(rs[0], 'username')) #判断是否有这个username属性 返回值True False
if hasattr(rs[0], 'username'):print(getattr(rs[0],'username')) #安全取值
print(rs[0].username)
>>> True
>>> budong
>>> budong
#4 .first() [0]
rs =session.query(User).filter(User.username=='budong').first() #返回一条数据,无则返回none
rs1 =session.query(User).filter(User.username=='budong')[0] #取第一条数据无则报错
print(rs, rs1,sep='\n')print(rs.id, rs1.username) #取出值
if rs !=None:print(rs)>>>
>>> 1budong>>>
#5 query(module的属性)
rs =session.query(User.id).filter(User.username=='tj').all() #all返回list
print(rs) #list
print(rs[0]) #当query(module的属性) 返回结果为元祖
print(rs[0][0])>>> [(2,)]>>> (2,)>>> 2
#6 条件查询#filter_by(直接跟module的属性,以字典形式传参) 并且只能判断 =
rs = session.query(User).filter_by(username='budong').all()print(rs)#filter(module.属性) 能判断 =&#