当涉及到 Python 中的数据库操作时,SQLAlchemy 是一个非常强大和流行的库。它允许开发人员在 Python 中执行 SQL 操作,并提供了一种对象关系映射(ORM)的方式来管理数据库。下面我将详细解释 SQLAlchemy 的主要功能和用法:
1. ORM(对象关系映射):
SQLAlchemy 提供了 ORM 功能,它允许开发人员使用 Python 类来表示数据库中的表,以及使用对象来执行各种数据库操作。通过 ORM,开发人员可以直接操作对象,而无需直接编写 SQL 查询。
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')
# 声明一个基类
Base = declarative_base()
# 定义一个类表示数据库中的表
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
# 创建所有声明的表
Base.metadata.create_all(engine)
# 创建一个会话
Session = sessionmaker(bind=engine)
session = Session()
# 创建一个新的用户对象
new_user = User(name='Alice', age=30)
# 将用户对象添加到会话中
session.add(new_user)
# 提交会话,将新用户写入数据库
session.commit()
# 查询数据库中所有用户对象
users = session.query(Us