Python ORM 概述

ORM(对象关系映射)是一种编程技术,它允许开发者使用面向对象的语言(如 Python)来操作数据库中的数据,而不必直接编写 SQL 语句。Python 中有许多优秀的 ORM 库,如 SQLAlchemy、Django ORM 等。

ORM 的优势

  • 提高开发效率:使用 ORM 可以减少编写 SQL 语句的时间,提高开发效率。
  • 降低数据库迁移成本:当数据库结构发生变化时,只需修改模型类,而不必修改 SQL 语句。
  • 提高代码可读性:ORM 将数据库表映射为对象,使代码更加直观易懂。

常用 Python ORM 库

  • SQLAlchemy:功能强大,支持多种数据库,是 Python 中最流行的 ORM 库之一。
  • Django ORM:Django 框架内置的 ORM,与 Django 框架紧密集成。

SQLAlchemy 示例

以下是一个简单的 SQLAlchemy 示例:

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)
    email = Column(String)

# 创建表
Base.metadata.create_all(engine)

# 创建会话
Session = sessionmaker(bind=engine)
session = Session()

# 创建新用户
new_user = User(name='Alice', email='alice@example.com')
session.add(new_user)
session.commit()

# 查询用户
user = session.query(User).filter_by(name='Alice').first()
print(user.name, user.email)

更多关于 SQLAlchemy 的信息,请访问 SQLAlchemy 官方文档

SQLAlchemy 示例