【SQLAlchemy】如何定义ORM模型并映射到数据库?
创作时间:
作者:
@小白创作中心
【SQLAlchemy】如何定义ORM模型并映射到数据库?
引用
CSDN
1.
https://blog.csdn.net/weixin_55818116/article/details/139549336
在Python中使用SQLAlchemy进行数据库操作时,定义ORM(对象关系映射)模型是一个重要的步骤。本文将详细介绍如何使用SQLAlchemy定义ORM模型并将其映射到数据库中,包括创建基类、定义自定义类、创建属性以及建立和删除映射等关键步骤。
创建 ORM 基类
首先,我们需要使用declarative_base根据engine来创建一个 ORM 基类。
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('sqlite:///example.db')
Base = declarative_base()
创建自定义类
接下来,我们可以用上边定义的Base类来实现自己的 ORM 类。通过__tablename__类属性,可以指定这个模型映射到数据库中的表名。
# 继承 Base 类
class User(Base):
# 指定映射表名
__tablename__ = 'user'
创建属性
创建类中的属性来映射到表中的字段,所有需要映射到表中的属性都应该为Column类型。
from sqlalchemy import Column, Integer, String
class User(Base):
__tablename__ = 'user'
id = Column(Integer, primary_key=True)
name = Column(String(50))
age = Column(Integer)
建立映射
使用Base.metadata.create_all()来将模型映射到数据库中。
# 建立与数据库的映射
Base.metadata.create_all(engine)
生成的数据库表结构如下:
查看生成的 SQL 脚本:
create table user
(
id int auto_increment
primary key,
name varchar(50) null,
age int null
);
删除映像
当对基类的属性进行更新时,需要重新生成数据库表,这是可以使用drop_all()。
# 删除与数据库的映射
Base.metadata.drop_all(engine)
Base.metadata.drop_all(engine)的作用就是删除数据库中所有与Base相关联的表。
注意事项
declarative_base()函数不接受位置参数。- 一旦使用
Base.metadata.create_all()将模型映射到数据库中后,即使改变了模型的字段,也不会重新映射了。
本文详细介绍了使用SQLAlchemy定义ORM模型并映射到数据库的基本步骤,希望对正在学习Python数据库操作的读者有所帮助。
热门推荐
FPGA工作原理、架构及底层资源
那个做烟花和火药的蔡国强,也开始搞AI了
内切眼袋术后该如何洗头
泰国驻华大使馆分布汇总(地址+电话)
OA系统插件不受支持怎么办?解决方案指南
领导如何引导避免团队冲突
冲浪者必看!彻底解释波浪形成的机制和各种浪形
干细胞研究与应用——为人类生命健康提供保障
2025年:干细胞药物研发或迎里程碑
电脑C盘空间不足怎么办?两种调整分区大小的方法详解
老产品经理需求挖掘的4大技巧
线性模型 - Softmax 回归
健康科普丨携手抗击慢阻肺,科学用药守护呼吸健康
房屋租赁合同是否含税价的法律解读
cosplay 崩坏3 爱莉希雅 粉色小甜心
庆祝植树节:创意PPT设计技巧
如何管理温情的温暖客户
“多做少想”可以有效缓解焦虑
金刚线母线:革新、挑战与行业的无限可能
19岁怎样促进二次长高
如何提高 RAG 模型的性能
《汾上惊秋》苏颋的唐诗鉴赏
职业技术学校新方向,无人机组装、调试、维修技术培训详解
快速傅里叶变换算法有哪些算法
白细胞淤滞症:一种罕见血液疾病的全面解析
白细胞淤滞症:病因、症状与治疗全解析
微信为何会对部分用户进行频繁的安全验证?
《二手货品质鉴定通则》修订版正式发布
离婚财产分割法律援助:如何保障您的权益
采购订购单是否具有法律效力?深入解析其合同法律地位!