文章目录
- 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);
查看表之间的关联(先打开主表)
注:删除数据 主表的数据被从表依赖时不能删除,从表数据可以任意删除
删除外键约束:
alter table <表名> drop foreign key <外键约束名>;
alter table emp2 drop foreign key emp_fk2 ;
2.外键约束(多对多)
多对多约束需要增加一个中间表