使用 SQLAlchemy 进行 ORM 映射
SQLAlchemy 是 Python 中最流行的 ORM 框架之一,它提供了一种将 Python 对象映射到数据库表的方法,使得开发者可以使用 Python 代码来操作数据库,而无需编写 SQL 语句。
下面是一个使用 SQLAlchemy 进行 ORM 映射的示例代码:
from sqlalchemy import create_engine, Column, Integer, String from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base # 创建 engine engine = create_engine('postgresql://username:password@localhost:5432/mydatabase') # 创建 session Session = sessionmaker(bind=engine) session = Session() # 创建 Base 对象 Base = declarative_base() # 创建一个 User 类,用于映射 users 数据表 class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String) email = Column(String) # 创建表 Base.metadata.create_all(engine) # 添加数据 user = User(name='pidancode', email='pidancode@example.com') session.add(user) session.commit() # 查询数据 users = session.query(User).all() for user in users: print(user.id, user.name, user.email) # 修改数据 user = session.query(User).filter(User.name=='pidancode').first() user.email = 'pidancode@gmail.com' session.commit() # 删除数据 user = session.query(User).filter(User.name=='pidancode').first() session.delete(user) session.commit() # 关闭 session session.close()
上面的代码中,我们通过 SQLAlchemy 创建了一个 user 类来映射数据库中的 users 表。通过 session 来操作数据库,例如添加数据、查询数据、修改数据和删除数据等操作。最后记得关闭 session。
需要注意的是,该示例代码是使用 PostgreSQL 数据库作为示例的,但你可以按照你的需要替换为你自己的数据库,例如 MySQL 或 SQLite 等。
此外,示例中 User 类中的字段使用了 name 和 email 作为字段名,但请注意,在实际使用时需要根据数据库表结构来命名字段。
相关文章