1. 创建外键约束
--() 1对多 创建外键约束
-- 主表
create table dept(
id int primary key auto_increment,
name varchar(20) not null
);
-- 从表
create table emp(
id int primary_key auto_increment,
name varchar(20) not null,
dep_id int not null,
-- 添加外键(创建表时创建)注意:在多的一方建立外键
constraint fk_emp_dept foreign key(dep_id) reference dept(id)
);
-- 创建表后添加外键约束
alter table emp add constraint fk_emp_dept foreign key(dept_id) reference dept(id);
--删除外键约束
alter table emp drop foreign key fk_emp_dept;
-- 多对多 创建外键约束
-- 订单表
create TABLE tb_order(
id INT PRIMARY KEY auto_increment,
payment double(10,2),
paymen_type TINYINT,
status TINYINT
);
-- 商品表
create TABLE tb_goods(
id int PRIMARY KEY auto_increment,
title varchar(20),
price double(10,2)
);
-- 中间表
create TABLE tb_order_goods(
id int PRIMARY KEY auto_increment,
order_id int,
goods_id int,
count int
);
-- 建立外键
alter table tb_order_goods add CONSTRAINT fk_tb_order FOREIGN KEY(order_id) REFERENCES tb_order(id);
alter table tb_order_goods add CONSTRAINT fk_tb_goods FOREIGN KEY(goods_id) REFERENCES tb_goods(id);
-- 一对一 创建外键约束
-- 创建方法同一对多类似,此外,需要在外键上加上UNIQUE约束