一.创建连接
创建连接,获取会话
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
# 测试时临时session
def getTempSession():
engine = create_engine('postgresql://postgres:password@127.0.0.1:5432/tablename')
# 创建DBSession类型:
DBSession = sessionmaker(bind=engine)
return DBSession()
获取会话
session=getTempSession()
二.分页limit()、offset()
sql中的limit,如:
1.limit num: 限制显示条数
2.limit start,end:限制起始索引
在sqlalchemy使用offset()、limit()实现
ps:offset(int start)为开始索引, limit(int size)为尺寸
例:
session.query(Class).offset(0).limit(5)
#查询前5条数据
三.postgres数组查询
查询表中某列(数组)含有value值的记录
session.query(Class).filter(Class.field.op('@>')([value])).all()
ps:还有其他方法,另外两种为使用func.any()和Any(),不过我试了下查询失败了
四.模糊查询like
session.query(Class).filter(Class.field.like('%value%')).all()
后续遇到了待补充…