1. 多表关系

image.png

  1. -- 一对一
  2. create table tb_user(
  3. id int auto_increment primary key comment '主键ID',
  4. name varchar(10) comment '姓名',
  5. age int comment '年龄',
  6. gender char(1) comment '1: 男,2:女',
  7. phone char(11) comment '手机号'
  8. )comment '用户基本信息表';
  9. create table tb_user_edu(
  10. id int auto_increment primary key comment '主键ID',
  11. degree varchar(20) comment '学历',
  12. major varchar(40) comment '专业',
  13. primaryschool varchar(50) comment '小学',
  14. middleschool varchar(50) comment '中学',
  15. universityschool varchar(50) comment '大学',
  16. userid int unique comment '用户id', -- 加了unique唯一约束,保证他们之间是一对一的关系
  17. constraint fk_userid foreign key (userid) references tb_user(id)
  18. )comment '用户教育信息表';
  19. insert into tb_user(id, name, age, gender, phone) values
  20. (null,'黄渤',45,'1','19970997314'),
  21. (null,'黄渤1',55,'1','19970997314'),
  22. (null,'黄渤2',25,'1','19970997314'),
  23. (null,'黄渤3',15,'1','19970997314');
  24. insert into tb_user_edu(id, degree, major, primaryschool, middleschool, universityschool, userid) VALUES
  25. (null,'本科','舞蹈','静安区第一小学','静安区第一中学','北京舞蹈学院',1),
  26. (null,'本科','舞蹈','静安区第一小学','静安区第一中学','北京舞蹈学院',2),
  27. (null,'本科','舞蹈','静安区第一小学','静安区第一中学','北京舞蹈学院',3),
  28. (null,'本科','舞蹈','静安区第一小学','静安区第一中学','北京舞蹈学院',4);

2.多对多

image.png

  1. -- 多对多
  2. create table student(
  3. id int auto_increment primary key comment '主键ID',
  4. name varchar(20) comment '姓名',
  5. no varchar(10) comment '学号'
  6. )comment '学生表';
  7. -- 插入的id值虽然为null,但是创建表时设置了auto_increment,会被默认填充
  8. insert into student values (null,'鲁迅','2000110100'),(null,'鲁迅1','2000110100'),(null,'鲁迅2','2000110100'),(null,'鲁迅3','2000110100');
  9. create table course(
  10. id int auto_increment primary key comment '主键ID',
  11. name varchar(10) comment '课程名称'
  12. )comment '课程表';
  13. insert into course values (null,'java'),(null,'python'),(null,'mysql'),(null,'php');
  14. create table student_course(
  15. id int auto_increment comment '主键' primary key ,
  16. studentid int not null comment '学生ID',
  17. courseid int not null comment '课程ID',
  18. constraint fk_courseid foreign key (courseid) references course(id),
  19. constraint fk_studentid foreign key (studentid) references student(id)
  20. )comment '学生课程中间表';
  21. insert into student_course values (null,1,1),(null,1,2),(null,1,3),(null,2,2),(null,2,3),(null,3,4);