【MySQL】MySQL中的主键约束和外键约束,父子表的创建与删除

create table stu

(

sno int primary key,

sname VARCHAR(5),

cno int,

FOREIGN key(cno) REFERENCES class(cno)

);

不然会报错:

正确删除方式:

3.主键:非空且唯一

==========

主键一个表中只能有一个,可以有表级约束,也可以有列级约束。

主键就是非空约束(not null) 和 唯一性约束(unique)两者的结合

表级约束就是两个或者多个字段连起来 满足 上述要求!

主键的定义语句

sno int primary key;//列级约束,对学号这一字段(列,columu)进行约束,要求不为空且不能重复!

primary key(sno);//一个字段也可以这样使用表级约束,但是意义不大

primary key(name,id);//姓名和身份证号连起来,作为主键

尽管支持多个字段联合起来作为联合主键。

但是顺嘴提一句,并不推荐这样,实际业务中

第一范式就要求非主键不能对主键存在部分依赖。复合主键完美破解第一范式!

主键常用两种:

1,业务主键 业务主键是和业务挂钩的,数据重用效率低,业务发生变更太复杂,和业务有关,

2,自然主

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值