1. 多表关系

-- 一对一
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 '用户基本信息表';
create table tb_user_edu(
id int auto_increment primary key comment '主键ID',
degree varchar(20) comment '学历',
major varchar(40) comment '专业',
primaryschool varchar(50) comment '小学',
middleschool varchar(50) comment '中学',
universityschool varchar(50) comment '大学',
userid int unique comment '用户id', -- 加了unique唯一约束,保证他们之间是一对一的关系
constraint fk_userid foreign key (userid) references tb_user(id)
)comment '用户教育信息表';
insert into tb_user(id, name, age, gender, phone) values
(null,'黄渤',45,'1','19970997314'),
(null,'黄渤1',55,'1','19970997314'),
(null,'黄渤2',25,'1','19970997314'),
(null,'黄渤3',15,'1','19970997314');
insert into tb_user_edu(id, degree, major, primaryschool, middleschool, universityschool, userid) VALUES
(null,'本科','舞蹈','静安区第一小学','静安区第一中学','北京舞蹈学院',1),
(null,'本科','舞蹈','静安区第一小学','静安区第一中学','北京舞蹈学院',2),
(null,'本科','舞蹈','静安区第一小学','静安区第一中学','北京舞蹈学院',3),
(null,'本科','舞蹈','静安区第一小学','静安区第一中学','北京舞蹈学院',4);
2.多对多

-- 多对多
create table student(
id int auto_increment primary key comment '主键ID',
name varchar(20) comment '姓名',
no varchar(10) comment '学号'
)comment '学生表';
-- 插入的id值虽然为null,但是创建表时设置了auto_increment,会被默认填充
insert into student values (null,'鲁迅','2000110100'),(null,'鲁迅1','2000110100'),(null,'鲁迅2','2000110100'),(null,'鲁迅3','2000110100');
create table course(
id int auto_increment primary key comment '主键ID',
name varchar(10) comment '课程名称'
)comment '课程表';
insert into course values (null,'java'),(null,'python'),(null,'mysql'),(null,'php');
create table student_course(
id int auto_increment comment '主键' primary key ,
studentid int not null comment '学生ID',
courseid int not null comment '课程ID',
constraint fk_courseid foreign key (courseid) references course(id),
constraint fk_studentid foreign key (studentid) references student(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);