多表的关系介绍
1、项目中的多表
- 在实际的开发中,项目一定是有多张表组成的,这些表之间是有关系
- 表与表之间的关系分类:
一对一,一对多,多对多
2、什么是一对一?
A表的一行对应B表的一行,反之也成立,此时,两张表可以合并成一张表
3、什么是一对多?
A表的一行对应B表的一行,反之不成立
4、什么是多对多?
A表的一行对应B表的多行,B的一行对应A表的多行
多表的关系-一对多关系
(1)初始化数据
(2)一对多的创建流程
- 》创建主表(分类表)
- 》创建从表(商品表)
- 》给主表和从表之间添加外键约束
- 》给主表添加数据(随便添加)
- 》给从表添加数据(添加数据是必须依赖主表)
CREATE DATABASE day13_2;
USE day13_2;
- 1 创建主表 (分类表)
CREATE TABLE category(
cid INT PRIMARY KEY AUTO_INCREMENT,
cname VARCHAR(20)
);
- 2 创建从表 (商品表)
CREATE TABLE products(
pid INT PRIMARY KEY AUTO_INCREMENT,
pname VARCHAR(20),
price DOUBLE ,
category_id INT -- 外键列
);
- 3 给主表和从表之间添加外键约束
alter table 从表 add [constraint] [外键名称] foreign key (从表外键字段名) references 主表 (主表的主键);
ALTER TABLE products ADD FOREIGN KEY(category_id) REFERENCES category(cid);
- 4 给主表添加数据(随便添加)
INSERT INTO category VALUES (1, '电子');
INSERT INTO category VALUES (2, '服装');