使用SQLAlchemy构建复杂查询
SQLAlchemy 是一个 Python 的关系数据库工具,提供了一个 ORM(对象关系映射)框架。ORM 将数据库映射到面向对象的类,从而使得我们能够更加方便地对数据库进行操作。
下面是使用 SQLAlchemy 构建复杂查询的一些示例:
范例 1:查询表中所有数据
from sqlalchemy import create_engine, Column, Integer, String from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base # 创建数据库引擎 engine = create_engine('sqlite:///example.db', echo=True) # 创建会话 Session = sessionmaker(bind=engine) session = Session() # 创建基类 Base = declarative_base() # 创建实体类 class User(Base): __tablename__ = 'user' id = Column(Integer, primary_key=True) name = Column(String) age = Column(Integer) # 查询所有用户数据 results = session.query(User).all() for user in results: print(user.id, user.name, user.age)
范例 2:按条件查询数据
# 查询年龄在 20 到 30 之间的用户 results = session.query(User).filter(User.age >= 20, User.age <= 30).all() for user in results: print(user.id, user.name, user.age)
范例 3:查询指定字段数据
# 查询用户的 name 和 age 字段 results = session.query(User.name, User.age).all() for name, age in results: print(name, age)
范例 4:使用字符串构建查询条件
from sqlalchemy import text # 使用字符串构建查询条件 query = text("SELECT * FROM user WHERE name = 'pidancode.com'") result = session.execute(query) for row in result: print(row)
更多示例可以参考 SQLAlchemy 的官方文档。
相关文章