在Python中使用SQLAlchemy实现动态SQL,可以通过几种不同的方法来构建灵活的查询。SQLAlchemy是一个功能强大的ORM(对象关系映射)工具,它提供了多种方式来生成SQL查询,包括动态SQL。以下是一些常见的方法:
1. 使用 filter 和 filter_by
你可以根据条件动态地添加过滤器。filter 和 filter_by 方法可以接受多个参数,并且可以链式调用。
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# 创建数据库引擎
engine = create_engine('sqlite:///example.db')
# 创建会话
Session = sessionmaker(bind=engine)
session = Session()
# 定义模型
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)