当前位置 : 首页 » 文章分类 :  开发  »  Python-SQLAlchemy

Python-SQLAlchemy

Python ORM 框架 SQLAlchemy(瑟扣-奥克米) 笔记,Alchemy /ˈælkəmi/ 炼金术

ORM(Object Relational Mapping) 对象关系映射:将面向对象程序中的对象和关系数据库的表结构做映射,像操作对象一样操作数据库表。

SQLAlchemy 是 Python 中最流行的 ORM 框架。
https://www.sqlalchemy.org/
https://github.com/sqlalchemy/sqlalchemy


安装 SQLAlchemy 及 MySQL 驱动

pip install sqlalchemy
pip install mysql-connector-python


概念

SQLAlchemy 概念 数据库
engine 引擎 数据库连接
session 会话 会话
model 模型
column 列

session

会话(Session)是 SQLAlchemy 中用来封装数据库交互的一个核心概念。它作为一个临时的事务空间,管理着所有对象到数据库的持久化操作,包括数据的增加、查询、更新和删除。
Session 记录我们对数据的所有更改,直到我们确认要提交这些更改,或者回滚。

engine = create_engine('sqlite:///example.db')  # 创建数据库引擎
session_maker = sessionmaker(bind=engine)  # 创建Session工厂
session = session_maker()  # 创建Session实例

定义模型

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import declarative_base

# 模型基类
Base = declarative_base()

# 数据模型
class User(Base):
    __tablename__ = 'user'
    id = Column(Integer, primary_key=True, autoincrement=True, comment='主键ID')
    code = Column(String(255), nullable=False, unique=True, comment='学号')
    name = Column(String(255), nullable=False, comment='姓名')
    age = Column(Integer, nullable=True, comment='年龄')

declarative_base() 是 sqlalchemy 内部封装的一个方法,通过其构造一个基类,这个基类和它的子类,可以将 Python 类和数据库表关联映射起来。
数据库表模型类通过 __tablename__ 和表关联起来,Column 表示数据表的列。


上一篇 Python-pytest

下一篇 Python-pip

阅读
评论
403
阅读预计1分钟
创建日期 2025-03-23
修改日期 2025-03-23
类别

页面信息

location:
protocol:
host:
hostname:
origin:
pathname:
href:
document:
referrer:
navigator:
platform:
userAgent:

评论