MySQL----表的一对多关系和多对多关系

1.一对多关系
1.1名词解释:
一对多关系:通过主键外关系,形成一对多关系。
一表:又称之为主表,主表需要提供主键。
多表:又称之为从表,从表需提供外键。

1.2实例演示
一个分类拥有多个商品,这就是一对多关系。
1.3连接语法

alter table 从表 add constraint foreign key (外键) references 主表 (主键);

1.4一对多实践案例

-- 创建主表
CREATE TABLE province(
id INT PRIMARY KEY,
pname VARCHAR(20),
description VARCHAR(20)
);-- 创建从表CREATE TABLE city(id INT PRIMARY KEY,cname VARCHAR(20),description VARCHAR(20),pid INT);-- 建立一对多关系ALTER TABLE city ADD CONSTRAINT FOREIGN KEY (pid) REFERENCES province (id);

两表关系如下:

2.多对多关系

2.1名词解释:
多对多关系:其实就是两个一对多关系,使用中间表进行连接;

2.2多对多关系图:
一个订单可拥有多件商品,一件商品可能拥有多个订单,这就是多对多关系


2.3多对多案例实践:

-- 建立主表userCREATE TABLE USER(uid INT PRIMARY KEY,username VARCHAR(20),PASSWORD VARCHAR(20));-- 建立主表roleCREATE TABLE role(rid INT PRIMARY KEY,NAME VARCHAR(20));-- 建立从表(中间表)CREATE TABLE user_role(user_id INT,role_id INT);-- 建立多对多关系ALTER TABLE user_role ADD CONSTRAINT FOREIGN KEY (user_id) REFERENCES USER (uid);ALTER TABLE user_role ADD CONSTRAINT FOREIGN KEY (role_id) REFERENCES role (rid);

三张表关系如下:

MySQL----表的一对多关系和多对多关系相关推荐

  1. mysql navicat 多语句_使用Navicat多对多关系SQL语句在MySQL中实现

    /** *功能:模拟两张表关系及添加两个主键和外键详细过程 *日期: 2018年7月26日   18:45 *注释: 学习数据库MySQL的点点记录, 谢谢网上各位大神分享经验与资料, 欢迎各位大神批 ...

  2. 六、hibernate表与表之间的关系(多对多关系)

    多对多关系 创建实体类和对应映射文件 Student.java 1 package com.qf.entity; 2 3 import java.util.HashSet; 4 import java ...

  3. 2019-7-27 [MySQL] DQL 简单查询[别名/去重/运算] 条件查询 排序查询 聚合查询 分组查询 导出与导入 多表操作[一对多/多对多][创外键 创联合主键 约束 添加 删除 测试]

    文章目录 5 SQL语句(DQL) 5.1DQL准备工作和语法 5.1.1准备工作 5.1.2 DQL语法: 5.2 简单查询 5.2.1 查询所有的商品 5.2.2 查询商品名和商品价格. 5.2. ...

  4. 【MySql】8.多对多关系表

    多对多关系: 比如在常见的订单管理数据库当中"产品"表和"订单"表之间的关系.单个订单中可以包含多个产品.另一方面,一个产品可能出现在多个订单中.因此,对于&q ...

  5. MySQL 表关系及多表操作(联合查询、连接查询、子查询)

    文章目录 表关系 一对一关系 一对多关系 多对多关系 总结 MySQL多表操作 联合查询 联合查询排序 连接查询 交叉连接 内连接 外连接 自然连接 using关键字 子查询 表关系 表关系:一个表代 ...

  6. SpringDataJpa的使用 -- 一对一、一对多、多对多 关系映射

    SpringDataJpa的使用 – 一对一.一对多.多对多 关系映射 本文主要讲述 @OneToOne.@OneToMany.@ManyToOne.@ManyToMany 这四个关系映射注解的使用, ...

  7. 15.8数据库(8):MySQL表关系管理

    @概述 关系型数据库中的表与表不是彼此独立,而是相互关联的: 表与表之间的级联关系使得整个数据库成为一个有机关联的系统: 表关系可以分为一对一.一对多.多对多三种,它们的维护方式各不相同: 表关系的管 ...

  8. 数据库中一对一,一对多,多对多关系总结

    由于最近在学数据库的东西,又想到了大一是老师交的如何通过数据库关系见表,下面就来说一下这三种关系的使用 数据库一对一.一对多.多对多关系 一.首先给出三种关系的实例 1.一对一关系实例 一个人对应一张 ...

  9. mysql表与表之间常见的映射关系_数据库表关联关系的基础知识

    表与表之间的关联关系一共有三种类型,一对一.多对一.和多对多,下面我们分别对这三种类型展开进行讨论. 一对一 表示两个表中的数据必须是一一对应的关系.这种场景其实并不是很常见,我们还是通过例子来直观地 ...

最新文章

  1. 单片机有啥用?现在用的还多吗?
  2. 01:初识Redis
  3. SQL查询库、表,列等的一些操作
  4. 实例讲解hadoop中的map/reduce查询(python语言实现)
  5. 阿里云服务器Tomcat无法从外部访问
  6. 在SQL Server上该做的和不该做的
  7. 文本聊天室(TCP-中)
  8. python怎么模拟浏览器交互_干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏)...
  9. [每日一题jQuery] jQuery选择器总结:进一步过滤、同级操作、后代操作
  10. android hdmi开关,Android – 禁用HDMI
  11. mysql 格式化 小数点后两位_MYSQL数据库mysql格式化小数保留小数点后两位(小数点格式化)...
  12. 使用JSON作为函数的参数(转载)
  13. 快速学习django
  14. Eclipse手动添加dtd文件使xml能自动提示
  15. 工程项目常见风险及其22种最佳管理实践
  16. 虚幻引擎 4 渲染流程分析
  17. 《架构设计2.0大型分布式系统架构方法论与实践》三高笔记
  18. HUD - 1873
  19. 帧中继网络与NBMA/P2MA
  20. 硅谷钢铁侠--Elon Musk

热门文章

  1. Windows 视频直播功能实现流程
  2. 【Unity VR开发】结合VRTK4.0:创建圆盘
  3. 经典 | Python实例小挑战—Part five
  4. 计算机基础知识(基础入门小白专属)
  5. Android实战:网易新闻(附完整代码)
  6. 19. python爬虫——基于scrapy框架爬取网易新闻内容
  7. Linux系统上没有scp命令,bash scp:未找到命令的解决方法
  8. mastercam西门子840d后处理_mastercam v9.1西门子810D后处理
  9. windows安装spacevim无效
  10. 利用 PyTorch 训练神经网络(详细版)