📅  最后修改于: 2023-12-03 15:20:17.956000             🧑  作者: Mango
SQLAlchemy 是 Python 开发中最受欢迎的 ORM。ORM 是一种编程技术,用于将 Python 对象与关系数据库中的表相映射,并提供一种编程式的方式来访问数据库。
使用 SQLAlchemy,你可以将 Python 对象映射到关系数据库表上,并在应用程序中使用 Python 对象来操作与表的交互。SQLAlchemy 还提供了多种数据库之间的兼容性,因此可以轻松地将应用程序迁移到不同的数据库上,而无需更改应用程序代码。
ORM (Object-Relational Mapping)是一种编程技术,它将对象和关系数据库之间的映射存储在元数据中。ORM 提供一种高层次的抽象,以便于 Python 开发者能够使用常规的编程技巧来与数据库进行交互。
使用 ORM 的好处是,开发者无需深入了解数据库,并可以使用更常用的编程模型来访问数据。
使用 SQLAlchemy 构建应用程序通常涉及以下步骤:
使用 pip 安装 SQLAlchemy
pip install sqlalchemy
导入 SQLAlchemy 中的创建引擎和创建基类的模块及必要类
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
使用 create_engine
函数创建连接,并将其传递给构造函数。
engine = create_engine('postgresql://username:password@localhost/postgres')
使用 declarative_base
创建新的基类
Base = declarative_base()
定义要映射到数据库表的 Python 类,该类应该继承自 Base 类。
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
创建 Session,以便将 Python 对象持久化到数据库中。
Session = sessionmaker(bind=engine)
session = Session()
您可以像操作python对象一样操作数据库,以下是一些示例:
# 添加数据
user = User(name='Tom', age=18)
session.add(user)
session.commit()
# 查询数据
users = session.query(User).all()
# 更新数据
user = session.query(User).filter_by(id=1).first()
user.age = 20
session.commit()
# 删除数据
user = session.query(User).filter_by(id=1).first()
session.delete(user)
session.commit()
SQLAlchemy 是一个强大的 ORM 工具,它提供了比原始的 SQL 查询更高层次的抽象。用 SQLAlchemy 将应用程序与关系数据库相结合,可以帮助 Python 开发者轻松构建可扩展的应用程序。