MySql基础(外键约束)

外键规则:

外键 在一个表中外键是用来与另一个表的主键关联的
主键 不能为空 唯一 检查 
外键有两种情况:
1.不加外键约束
可以任意的对表数据进行操作,即使两个表中的数据对应不上也没有关系
2.添加外键约束
添加外键约束后,两张表操作时,不能导致外键列和主键列对应关系不成立

添加外键约束:

ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (添加约束键的列) REFERENCES 关联表名(关联列名)

删除外键约束:

ALTER TABLE 表名 DROP FOREIGN KEY 外键名称

CREATE TABLE major(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(20)
)

--添加外键约束
ALTER TABLE student ADD CONSTRAINT fk_student_major_majorid FOREIGN KEY (majorid)REFERENCES major(id)

-- 删除外键约束
ALTER TABLE student DROP FOREIGN KEY fk_student_major_majorid


-- 学生选课 一个学生至少选择两个课程

-- 课程信息表 多对多关系
CREATE TABLE course(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(20)
)

-- 添加一个学生选课表 学生和课程关系表 放一个学生学号外键,放一个课程外键
CREATE TABLE student_course(
	stunumber INT,
	courseid INT
)

ALTER TABLE student_course ADD CONSTRAINT fk_student_course_stunumber FOREIGN KEY(stunumber)REFERENCES student(number)
ALTER TABLE student_course ADD CONSTRAINT fk_student_course_courseid FOREIGN KEY(courseid)REFERENCES course(id)

table:        student

MySql基础(外键约束)_第1张图片 

你可能感兴趣的:(mysql,数据库)