外键
外键是设计两张表之间数据的联系,防止造成在同一张表中的数据冗余
## 语法规则
CONSTRIANT 外键名称 FOREIGN KEY (本表中的字段列表) REFERENCE 与本表联系的表名(主键);
###外键删除
ALTER TABLE 外键所在表名 DROP FOREIGN KEY 外键名称;
###外键添加
ALTER TABLE 外键所在表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (字段列表) REFERENCES 与本表联系的表名(主键);
## 级联
级联是为了结句外表中主键的信息更新。相关操作有: 级联更新,级联删除。但是要注意的是当级联外表中的主键删除后,本表中的数据也会丢失。
## 应用
CREATE TABLE ageTable(
num INT PRIMARY KEY,
ageName VARCHAR(20)
);
CREATE TABLE person(
per_num INT PRIMARY KEY,
NAME VARCHAR(20),
age INT,
age_num INT,
CONSTRAINT Age_Num FOREIGN KEY (age_num) REFERENCES ageTable(num) ON UPDATE CASCADE
);
ALTER TABLE person DROP FOREIGN KEY Age_Num;-- 删除级联
ALTER TABLE person ADD CONSTRAINT Age_Num FOREIGN KEY (age_num) REFERENCES ageTable(num) ON UPDATE CASCADE ON DELETE CASCADE;-- 添加级联
INSERT INTO ageTable(num,ageName)VALUES(1,“少儿”),(2,“青年”),(3,“成年”);-- 添加数据
INSERT INTO person(per_num,NAME,age,age_num)VALUES(522225,“王晓栓”,1,1),(511997,“小明”,21,2),(511226,“小红”,35,3); – 添加数据
SELECT * FROM person;
SELECT * FROM ageTable;
person中的数据
ageTable中的数据
级联更新:
级联删除: