目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

Python全系列 教程

3567个小节阅读:5929.1k

收藏
全部开发者教程

鸿蒙应用开发

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(2k)
赞(0)

表关系

image-20211118165250857

表之间的关系存在三种:一对一、一对多、多对多。

而SQLAlchemy中的ORM也可以模拟这三种关系。

因为一对一其实在SQLAlchemy中底层是通过一对多的方式模拟的,所以先来看下一对多的关系:

外键:

使用SQLAlchemy创建外键非常简单。在从表中增加一个字段,指定这个字段外键的是哪个表的哪个字段就可以了。从表中外键的字段,必须和主表的主键字段类型保持一致。

外键约束有以下几项:

  • RESTRICT:若子表中有父表对应的关联数据,删除父表对应数据,会阻止删除。默认项

  • NO ACTION:在MySQL中,同RESTRICT。

  • CASCADE:级联删除。

  • SET NULL:父表对应数据被删除,子表对应数据项会设置为NULL。

实时学习反馈

1. 对SQLAlchemy中,对表关系说法错误的是?

A 常见的表关系有1对1、1对多、多对多

B 建立表关系主要通过ForeignKey参数

C CASCADE父表数据被删除, 子删对应数据列会设置为NULL

D SET NULL父表数据被删除,子表对应数据项会设置为NULL

答案

1=>C

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2