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

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

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

-- 添加外键例子


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值

猜你喜欢

转载自www.cnblogs.com/pyhan/p/12335649.html