📜  SQLAlchemy – 简介(1)

📅  最后修改于: 2023-12-03 15:20:17.956000             🧑  作者: Mango

SQLAlchemy – 简介

SQLAlchemy 是 Python 开发中最受欢迎的 ORM。ORM 是一种编程技术,用于将 Python 对象与关系数据库中的表相映射,并提供一种编程式的方式来访问数据库。

使用 SQLAlchemy,你可以将 Python 对象映射到关系数据库表上,并在应用程序中使用 Python 对象来操作与表的交互。SQLAlchemy 还提供了多种数据库之间的兼容性,因此可以轻松地将应用程序迁移到不同的数据库上,而无需更改应用程序代码。

ORM

ORM (Object-Relational Mapping)是一种编程技术,它将对象和关系数据库之间的映射存储在元数据中。ORM 提供一种高层次的抽象,以便于 Python 开发者能够使用常规的编程技巧来与数据库进行交互。

使用 ORM 的好处是,开发者无需深入了解数据库,并可以使用更常用的编程模型来访问数据。

SQLAlchemy 的使用

使用 SQLAlchemy 构建应用程序通常涉及以下步骤:

1. 安装 SQLAlchemy

使用 pip 安装 SQLAlchemy

pip install sqlalchemy
2. 导入 SQLAlchemy

导入 SQLAlchemy 中的创建引擎和创建基类的模块及必要类

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
3. 创建连接

使用 create_engine 函数创建连接,并将其传递给构造函数。

engine = create_engine('postgresql://username:password@localhost/postgres')
4. 创建基类

使用 declarative_base 创建新的基类

Base = declarative_base()
5. 创建ORM模型

定义要映射到数据库表的 Python 类,该类应该继承自 Base 类。

class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    name = Column(String)
    age = Column(Integer)
6. 创建Session

创建 Session,以便将 Python 对象持久化到数据库中。

Session = sessionmaker(bind=engine)
session = Session()
7. 操作数据库

您可以像操作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 开发者轻松构建可扩展的应用程序。