,可以使用and_
或or_
函数来组合多个条件。
and_
函数用于连接多个条件,并且要求所有条件都满足。示例代码如下:
from sqlalchemy import create_engine, and_
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String
# 创建数据库连接
engine = create_engine('mysql+pymysql://username:password@localhost/db_name')
Session = sessionmaker(bind=engine)
session = Session()
# 创建基类
Base = declarative_base()
# 定义表模型
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(50))
age = Column(Integer)
# 构建查询条件
condition1 = User.name == 'Alice'
condition2 = User.age > 18
# 使用and_函数连接多个条件
query = session.query(User).filter(and_(condition1, condition2))
# 执行查询
results = query.all()
# 输出结果
for user in results:
print(user.name, user.age)
or_
函数用于连接多个条件,并且要求至少一个条件满足。示例代码如下:
from sqlalchemy import create_engine, or_
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String
# 创建数据库连接
engine = create_engine('mysql+pymysql://username:password@localhost/db_name')
Session = sessionmaker(bind=engine)
session = Session()
# 创建基类
Base = declarative_base()
# 定义表模型
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(50))
age = Column(Integer)
# 构建查询条件
condition1 = User.name == 'Alice'
condition2 = User.age > 18
# 使用or_函数连接多个条件
query = session.query(User).filter(or_(condition1, condition2))
# 执行查询
results = query.all()
# 输出结果
for user in results:
print(user.name, user.age)
以上示例代码演示了如何在SQLAlchemy中连接表的列的多个条件,并使用and_
和or_
函数进行条件组合。根据具体的业务需求,可以灵活使用这些函数来构建复杂的查询条件。
领取专属 10元无门槛券
手把手带您无忧上云