一、多表关系
概述:项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间互相关联,所以各个表结构之间也存在着各种联系。
基本上有三种:一对多(多对一),多对多,一对一。
- 一对多(多对一)
- 多对多
- 一对一
辅助建表内容:
-- 多表查询 --
create table student(
id int auto_increment primary key comment '主键id',
name varchar(10) comment '姓名',
no varchar(10) comment '学号'
)comment '学生表';
insert into student values (null,'黛绮丝','2000100101'),
(null,'谢逊','2000100102'),
(null,'殷天正','2000100103'),
(null,'韦一笑','2000100104');
create table course(
id int auto_increment primary key comment '主键id',
name varchar(10) comment '课程名称'
)comment '课程表';
insert into course values (null,'Java'),(null,'PHP'),(null,'MySQL'),(null,'Hadoop');
create table student_course(
id int auto_increment primary key comment '主键id',
studentid int not null comment '学生id',
courseid int not null comment '课程id',
constraint fk_studentid foreign key (studentid) references student(id),
constraint fk_courseid foreign key (courseid) references course(id)
)comment '学生课程中间表';
insert into student_course values (null,1,1),(null,1,2),(null,1,3),
(null,2,2),(null,2,3),(null,3,4);
create table tb_user(
id int auto_increment primary key comment '主键id',
name varchar(10) comment '姓名',
age int comment '年龄',
gender char(1) comment '1: 男 , 2: 女 ',
phone char(11) comment '手机号'
)comment '用于多表查询的用户基本信息表';
insert into tb_user(id,name,age,gender,phone)