mysql外键约束

1、什么是外键 -- 约束

 mysql外键约束_第1张图片



2、外键的作用

 用于表与表之间的关联



3、外键的创建



3、1 mysql 创建带有外键的表

CREATE TABLE `student`  (
  `id` int(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
  `name` varchar(10) NOT NULL DEFAULT "匿名" COMMENT '姓名',
  `password` varchar(11) NOT NULL DEFAULT 123456 COMMENT '密码',
  `sex` varchar(2) NOT NULL DEFAULT "男" COMMENT '性别',
  `gradeid` int(11) NOT NULL COMMENT '学生年级',
  `address` varchar(100) NULL DEFAULT NULL COMMENT '家庭住址',
  `email` varchar(20) NULL DEFAULT NULL COMMENT '电子邮件',
  PRIMARY KEY (`id`),
  CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `mybatis_tb`.`grade` (`id`)
);

3、1.1 关键字

  • constraint 约束
  • foreign key  表中需要外联的列
  • references 引用

3、2 navicat 创建外键表

mysql外键约束_第2张图片

 mysql外键约束_第3张图片

 3、2.1 外键的属性

  • 名 :外键的名称
  • 字段 :作为外键的列
  • 被引用模式 : 外联的数据库
  • 被引用的表 : 外联的表
  • 被引用的字段 : 外联表的列

删除时 和 更新时 的参数

CASCADE :串联

NO ACTION :  无动作

RESTRICT : 约束,限制

SET NULL : 设置为空


 4、在表中添加外键

alter table `student` 
add  CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `mybatis_tb`.`grade` (`id`)

 alter table `student` 

add constraint 外键名 foreign key (列名) references 那个表(那个字段);

 5、总结

  1. 在外联表中,如果表中存在外键,则删除失败,应将外键删除,在去删表
  2. 以上的操作都是都是物理外键,数据库级别的外键,不建议使用

你可能感兴趣的:(mysql,sql)