数据库进阶

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约束

posted on 2022-12-31 11:12  朝朝暮Mu  阅读(31)  评论(0)    收藏  举报