【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数据库操作的读者有所帮助。
热门推荐
2024年十佳动画片大盘点:从宫崎骏新作到变形金刚起源
从鲫鱼汤到萝卜糕:四种美味做法让餐桌上的萝卜不再单调
醋溜土豆丝的正确打开方式:3步洗出清脆口感
青萝卜白萝卜:口感、功效与地域偏好的差异
金桔蜜酿DIY,秋冬必备神器!
冬季增强免疫力,金桔了解一下?
电子狗选购与安装指南:让行车安全更有保障
涠洲岛:“蕉”个朋友散“心火”
锂离子电池 vs 锂聚合物电池:谁更能扛?
掌握这12个职场法则,助力实现职业突破
神门、通里、极泉:中医养生护心三大穴位详解
手掌按摩缓解疲劳改善睡眠,9大穴位功效与按摩方法
按压劳宫穴缓解牙痛,还能降压助眠
5个手掌穴位按摩法,改善肩颈痛失眠等不适
身份证地址和户口本地址不一样怎么办
太原出发玩壶口瀑布:交通、门票、游览全攻略
5条原则助力孩子建立健康友谊关系
品味海南咖啡:兴隆、白咖、椰奶三大特色详解
苹果手机ID密码修改全攻略:确保你的帐号安全无忧
鲍鱼烧土豆制作指南:食材处理到出锅全程详解
从屈原到杜甫:诗词里的爱国情怀
《长恨歌》里的爱国情怀,你get了吗?
中脘穴:缓解消化不良的特效穴位,位置与按摩方法详解
江苏云台山:西游记花果山原型,五大景区游玩指南
冰箱温度设置不当,你的蔬菜水果真的“冻龄”了吗?
通脉丹的功效与作用是什么
内存不足、硬盘老化?这些方法让电脑恢复流畅
夏日酸菜秘诀:掌握这3点,酸菜脆嫩不烂不发霉
川菜大厨:做酸菜鱼时,只要牢记“这2点”,味道比饭店的还要好
胶东名菜红烧大虾:鲁菜经典制作全攻略