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
页面信息
location:
protocol
: host
: hostname
: origin
: pathname
: href
: document:
referrer
: navigator:
platform
: userAgent
: