Flask数据库查询
表名,query.all() 返回所有的对象列表
get方法接收主键信息,根据主键查询信息
返回单个对象
表名,query.get()
执行器all(),first(),last()
限制条件过滤查询filter_by需要加执行器不加返回的是一个baseQuery对象,filter_by直接跟属性不需要加类名点,filter必须加,并且是条件精确查询不能模糊查询比如User.query.filter_by(email.endswith(‘163.com’)).all()
这样就是错误的
fliter 过滤查询接收的参数必须加上模型类的类名也需要加执行器是模糊查询
逻辑与逻辑或逻辑非必须导入才可以进行
from sqlalchemy import _and _or _not
比如User.query.filter(and_(User.name!=’wang’,User.email.endswith(‘163.com’))).all()
删除数据
db.session.delete(对象)
db.sessiom.commit()
使用update更新数据
使用精确查询比如
User.query.filter_by(name=’zhang’).update({‘name’:’li’})
一对多关联查询
创建的是关系映射
us = db.relationship(‘User’, backref=’role’)
一查多使用左边的查询他所属的
多查一使用右边的