当前位置: 首页 > news >正文

Mysql中表之间的关系

表之间的关系

一对一、多对一(其实就是主从关系,在从表中设置一个外键关联上主表)、多对多关系(需要一个中间表,设置两个外键,分别关联到两个表的主键)
比如订单和商品之间:一个订单可以包含多个商品,一个商品也可以存在于多个订单中。
在这里插入图片描述
订单1包含了两件商品,商品1存在于订单1和订单2中。
具体设计过程如下所示:
1、设计一个订单表

mysql> create table tb_order(-> id int primary key auto_increment,-> payment double(7,2),-> status tinyint);\
Query OK, 0 rows affected, 1 warning (0.04 sec)

2、设计一个商品表

mysql> create table tb_goods(-> id int primary key auto_increment,-> title varchar(100),-> price double(7,2));
Query OK, 0 rows affected, 1 warning (0.03 sec)

3、设计中间表关联商品和订单表

mysql> create table tb_order_goods(-> id int primary key auto_increment,-> order_id int,-> goods_id int,-> constraint fk_order_id foreign key(order_id) references tb_order(id),-> constraint fk_goods_id foreign key(goods_id) references tb_goods(id));
Query OK, 0 rows affected (0.33 sec)
http://www.lryc.cn/news/354134.html

相关文章:

  • 文心智能体大赛:百度文心智能体平台初体验
  • AI数据面临枯竭
  • 2024.5组队学习——MetaGPT(0.8.1)智能体理论与实战(中):订阅智能体OSS实现
  • LoadBalancer
  • 【栈】Leetcode 71. 简化路径【中等】
  • 简单操作一单利润500+,最新快手缺货赔付玩法,【找店教程+详细教程】
  • 【软件设计师】先导
  • npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
  • 如何用 MoonBit 实现 diff?
  • opencl色域变换,处理传递显存数据
  • COD论文笔记 Boundary-Guided Camouflaged Object Detection
  • java内存模型介绍
  • CSS语法介绍
  • Jeecg | 完成配置后,如何启动整个项目?
  • Kubectl 的使用——k8s陈述式资源管理
  • 多天线技术
  • Meta发布Chameleon模型预览,挑战多模态AI前沿
  • 声压级越大,STIPA 越好,公共广播就越清晰吗?
  • 基于springboot+vue的4S店车辆管理系统
  • 深入理解 HTTP 缓存
  • upload-labs 通关方法
  • 5-26 Cpp学习笔记
  • YOLOv8_pose的训练、验证、预测及导出[关键点检测实践篇]
  • 架构师必考题--软件系统质量属性
  • 使用AWR对电路进行交流仿真---以整流器仿真为例
  • 在UbuntuLinux系统上安装MySQL和使用
  • React 如何自定义 Hooks
  • 智能家居完结 -- 整体设计
  • 双指针用法练习题(2024/5/26)
  • Ansible02-Ansible Modules模块详解