在使用SQLAlchemy API与WHERE子句选择多个过滤器时,可以通过使用and_
和or_
函数来组合多个过滤器条件。
首先,导入sqlalchemy
库和相关模块:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import and_, or_
接下来,创建数据库连接和会话:
engine = create_engine('数据库连接字符串')
Session = sessionmaker(bind=engine)
session = Session()
然后,定义数据模型和表结构:
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
使用and_
函数选择多个过滤器条件:
users = session.query(User).filter(and_(User.age > 18, User.name.like('%John%'))).all()
上述代码中,and_
函数将两个过滤器条件进行逻辑与操作,筛选出年龄大于18且名字中包含"John"的用户。
使用or_
函数选择多个过滤器条件:
users = session.query(User).filter(or_(User.age > 18, User.name.like('%John%'))).all()
上述代码中,or_
函数将两个过滤器条件进行逻辑或操作,筛选出年龄大于18或名字中包含"John"的用户。
以上是使用SQLAlchemy API与WHERE子句选择多个过滤器的基本方法。对于更复杂的过滤器条件,可以根据具体需求进行组合和嵌套。关于SQLAlchemy的更多详细用法和示例,可以参考腾讯云的SQLAlchemy产品介绍。
领取专属 10元无门槛券
手把手带您无忧上云