外键约束:外键用于让两个表的数据间建立链接,保证数据的一致性与完整性
(例,员工表上附带部门id,部门id对应员工属于哪一个部门,删除部门时先将员工进行了处理,这样员工表与部门表就建立了链接)
-- 添加外键,关联id主键
CONSTRAINT fk_emps_dept FOREIGN KEY(dep_id) REFERENCES dept(id)
-- 删除外键
ALTER TABLE emps drop FOREIGN KEY fk_emps_dept;
-- 建表后添加外键
ALTER TABLE emp add CONSTRAINT fk_emps_dept FOREIGN KEY(dept_id) REFERENCES dept(id);
CREATE TABLE dept (
id int PRIMARY KEY auto_increment,
dep_name VARCHAR(20),
addr VARCHAR(20)
);
CREATE TABLE emps(
id INT PRIMARY KEY auto_increment,
name VARCHAR(20),
age INT,
dep_id int,
-- 添加外键,关联id主键
CONSTRAINT fk_emps_dept FOREIGN KEY(dep_id) REFERENCES dept(id)
);
INSERT INTO dept(dep_name,addr) VALUES ('研发部','上海'),('销售部','广州');
INSERT INTO emps(NAME,age,dep_id) VALUES
('张娇',20,1),
('张芸',21,1),
('李思思',25,1),
('刘魅',21,2),
('赵亓',22,2),
('李韩',20,2);
SELECT name,age,dep_id FROM emps;
-- 删除外键
ALTER TABLE emps drop FOREIGN KEY fk_emps_dept;
-- 删除表后添加外键
ALTER TABLE emp add CONSTRAINT fk_emps_dept FOREIGN KEY(dept_id) REFERENCES dept(id);
网友评论