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 创建外键表

 

 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. 以上的操作都是都是物理外键,数据库级别的外键,不建议使用

版权声明:本文为qq_63776150原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。