【MYSQL8.0从入门到精通】

文章目录

  • MySQL 8.0
    • 一.MySQL的多表操作
      • 1.外键约束(一对多)
      • 2.外键约束(多对多)

MySQL 8.0

一.MySQL的多表操作

1.外键约束(一对多)

  • 方式1 在创建表的同时创建外键约束
-- 1.创建主表
create table if not exists dept(
	deptno varchar(20) primary key, -- 部门编号 主键
	name varchar(20)  -- 部门名称
)

-- 2.创建从表 
create table if not exists emp(
	eid varchar(20) primary key, -- 员工编号 主键
	ename varchar(20), -- 员工姓名
	eage int(2),  -- 员工年龄
	dept_id varchar(20), -- 部门编号
	constraint emp_fk foreign key (dept_id) references dept (deptno) -- 添加外键约束 
)
  • 方式2 创建完表之后再创建外键约束
alter table <表名> add constraint <外键名> foreign key (列名) references <主表>(主键列名)
alter table emp2 add constraint emp_fk2 foreign key(dept_id) references dept2(deptno);

查看表之间的关联(先打开主表)

【MYSQL8.0从入门到精通】_第1张图片

注:删除数据 主表的数据被从表依赖时不能删除,从表数据可以任意删除

【MYSQL8.0从入门到精通】_第2张图片

删除外键约束:

alter table <表名> drop foreign key <外键约束名>;
alter table emp2 drop foreign key emp_fk2 ;

2.外键约束(多对多)

多对多约束需要增加一个中间表

【MYSQL8.0从入门到精通】_第3张图片

你可能感兴趣的:(mysql,mysql)