栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mySQL中的外键约束

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mySQL中的外键约束

MySQL外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用。对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表)。

建表时先建立主表,限制从表的引用,从表的外键对应主表的主键(不是主键也不会报错)

CREATE TABLE if not EXISTS department (
	id INT PRIMARY KEY,
	dept_name VARCHAr (20)
);

-- 主表插入数据
insert into department VALUES(1,'教学');
insert into department VALUES(2,'开发');

-- 建立从表,外键引用刚才的主表,这里外键字段的类型一定要和主表的字段类型保持一致
create table employee(
	e_id int, 
	u_name varchar(20),
	dept_id int,
	ConSTRAINT emp_fk FOREIGN key(dept_id) REFERENCES department(id)
);
	
-- 从表插入数据
INSERT into employee VALUES(1001,'张三',1);
INSERT into employee VALUES(1002,'李四',1);
INSERT into employee VALUES(1003,'赵武',2);
INSERT into employee VALUES(1004,'王柳',2);


-- 注意外键字段的数据一定是主表中存在的,否则会报错
INSERT into employee VALUES(1005,'题库',3);


-- 删除外键约束
-- alter table 从表 drop foreign key emp_fk
alter table employee drop foreign key emp_fk;

-- 添加外键
alter table employee add FOREIGN key(dept_id) REFERENCES department(id);


-- 想要删除主表中的字段时,要先将从表的引用删除,否则会报错

delete from employee where dept_id=1;

delete from department where id=1;


-- 删除外键约束,也可以实现主表的成功删除

alter table employee drop foreign key employee_ibfk_1;

delete from department where id=2;

-- 有外键约束的从表字段在外键存在时,是不能成功删除的
alter table employee drop column dept_id;


-- 级联操作可以实现删除主表数据的同时,把从表对应的数据一并删除,并且不受以上所说的限制 on delete CASCADE
create table employee(
	e_id int, 
	u_name varchar(20),
	dept_id int,
	ConSTRAINT emp_fk FOREIGN key(dept_id) REFERENCES department(id) on DELETE CASCADE
);

delete from department where id=1;

有帮到你的点赞、收藏一下吧

                                                                         需要更多教程,微信扫码即可

                                                                                 

                                                                                         

                                                        别忘了扫码领资料哦【高清Java学习路线图】

                                                                     和【全套学习视频及配套资料】
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/643521.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号