Python学习第二十四课——Mysql 外键约束

时间:2023-12-21 18:49:20

外键:主要是关联两个表的

举个栗子:在建表中创建外键

-- 添加外键例子

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值