外键:主要是关联两个表的
举个栗子:在建表中创建外键
-- 添加外键例子
CREATE TABLE teacher(
id TINYINT PRIMARY KEY auto_increment,
name VARCHAR(25),
age int,
is_marryed boolean
);
CREATE TABLE student(
id TINYINT PRIMARY KEY auto_increment,
name VARCHAR(25),
charger_id TINYINT,
FOREIGN KEY (charger_id) REFERENCES teacher(id)
); -- 建表示添加外键 外键一定要跟关联的数据类型保持一致
insert into student2(name,charger_id) values("小花",1),
("憨憨",2),
("玫玫",3),
("阿妹",4),
("小于",5),
("奶酪",3);
添加外键和删除外键:
--添加外键和删除外键
ALTER TABLE student2 ADD CONSTRAINT abc
FOREIGN KEY (charger_id)
REFERENCES teacher(id)
ALTER TABLE 表名student ADD CONSTRAINTS abc外键名
FOREIGN KEY(charger_id)
REFERENCES teacher(id)
ALTER TABLE student DROP FOREIGN KEY abc;
外键的其他:
FOREIGN KEY (charger_id) REFERENCES teacher(id)
ON DELETE CASCADE;-- 这样如果删除 1号 冰冰 的话 那么跟着1号的学生也都被删除了
FOREIGN KEY (charger_id) REFERENCES teacher(id)
ON DELETE SET NULL; -- 这样如果删除 1号 冰冰 的话 那么跟着1号的学生对应主键都变为NUll值