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. 以上的操作都是都是物理外键,数据库级别的外键,不建议使用
  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值