MySQL----表的一对多关系和多对多关系
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----表的一对多关系和多对多关系相关推荐
- mysql navicat 多语句_使用Navicat多对多关系SQL语句在MySQL中实现
/** *功能:模拟两张表关系及添加两个主键和外键详细过程 *日期: 2018年7月26日 18:45 *注释: 学习数据库MySQL的点点记录, 谢谢网上各位大神分享经验与资料, 欢迎各位大神批 ...
- 六、hibernate表与表之间的关系(多对多关系)
多对多关系 创建实体类和对应映射文件 Student.java 1 package com.qf.entity; 2 3 import java.util.HashSet; 4 import java ...
- 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. ...
- 【MySql】8.多对多关系表
多对多关系: 比如在常见的订单管理数据库当中"产品"表和"订单"表之间的关系.单个订单中可以包含多个产品.另一方面,一个产品可能出现在多个订单中.因此,对于&q ...
- MySQL 表关系及多表操作(联合查询、连接查询、子查询)
文章目录 表关系 一对一关系 一对多关系 多对多关系 总结 MySQL多表操作 联合查询 联合查询排序 连接查询 交叉连接 内连接 外连接 自然连接 using关键字 子查询 表关系 表关系:一个表代 ...
- SpringDataJpa的使用 -- 一对一、一对多、多对多 关系映射
SpringDataJpa的使用 – 一对一.一对多.多对多 关系映射 本文主要讲述 @OneToOne.@OneToMany.@ManyToOne.@ManyToMany 这四个关系映射注解的使用, ...
- 15.8数据库(8):MySQL表关系管理
@概述 关系型数据库中的表与表不是彼此独立,而是相互关联的: 表与表之间的级联关系使得整个数据库成为一个有机关联的系统: 表关系可以分为一对一.一对多.多对多三种,它们的维护方式各不相同: 表关系的管 ...
- 数据库中一对一,一对多,多对多关系总结
由于最近在学数据库的东西,又想到了大一是老师交的如何通过数据库关系见表,下面就来说一下这三种关系的使用 数据库一对一.一对多.多对多关系 一.首先给出三种关系的实例 1.一对一关系实例 一个人对应一张 ...
- mysql表与表之间常见的映射关系_数据库表关联关系的基础知识
表与表之间的关联关系一共有三种类型,一对一.多对一.和多对多,下面我们分别对这三种类型展开进行讨论. 一对一 表示两个表中的数据必须是一一对应的关系.这种场景其实并不是很常见,我们还是通过例子来直观地 ...
最新文章
- 单片机有啥用?现在用的还多吗?
- 01:初识Redis
- SQL查询库、表,列等的一些操作
- 实例讲解hadoop中的map/reduce查询(python语言实现)
- 阿里云服务器Tomcat无法从外部访问
- 在SQL Server上该做的和不该做的
- 文本聊天室(TCP-中)
- python怎么模拟浏览器交互_干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏)...
- [每日一题jQuery] jQuery选择器总结:进一步过滤、同级操作、后代操作
- android hdmi开关,Android – 禁用HDMI
- mysql 格式化 小数点后两位_MYSQL数据库mysql格式化小数保留小数点后两位(小数点格式化)...
- 使用JSON作为函数的参数(转载)
- 快速学习django
- Eclipse手动添加dtd文件使xml能自动提示
- 工程项目常见风险及其22种最佳管理实践
- 虚幻引擎 4 渲染流程分析
- 《架构设计2.0大型分布式系统架构方法论与实践》三高笔记
- HUD - 1873
- 帧中继网络与NBMA/P2MA
- 硅谷钢铁侠--Elon Musk
热门文章
- Windows 视频直播功能实现流程
- 【Unity VR开发】结合VRTK4.0:创建圆盘
- 经典 | Python实例小挑战—Part five
- 计算机基础知识(基础入门小白专属)
- Android实战:网易新闻(附完整代码)
- 19. python爬虫——基于scrapy框架爬取网易新闻内容
- Linux系统上没有scp命令,bash scp:未找到命令的解决方法
- mastercam西门子840d后处理_mastercam v9.1西门子810D后处理
- windows安装spacevim无效
- 利用 PyTorch 训练神经网络(详细版)