浅谈 MySQL 中对字段的主键约束、外键约束以及复合主键的用法及好处

我们学习数据库肯定是离不开表 table 的,而刚学到这一块知识时研究了好久,这一块语法有点绕或者难以理解和有点复杂。

我说说我学到这里的一些经验吧。

谈谈主键外键的意义。
主键是一个表的关键字,能够唯一确定这条记录的。是表的标识列。一般数据长度越段越好。
外键就是参考主表中某一个字段的值,一般是一个主键记录多个外键的记录。
字段设置了外键就制约了该字段必须在外键的范围内。

说说联合主键和复合主键。
都是保证其唯一性。
联合主键是多个主键联合形成一个主键组合;
复合主键是表的主键含有一个以上的其他字段组成;表中的一个字段既是主键又是其他表中某个字段的外键关联。
一般主键的字段的长度和数目越少越好。



下面是网友分析主从表的关系。
主从表关系:从表数据依赖于主表,一般最后查询数据时把主表与从表进行关联查询。
主表可用于存储主要信息,从表用来存储客户扩展信息。
只能说这两张表通过主外键相关联,比如学生和教师两张表,
教师的主键可以放到学生这张表中作为外键,
但学生这张表的信息并不是教师表的信息的扩展信息。
只是用来说明该学生的教师的编号是多少,
进而从教师这张表可以查到与之对应的教师姓名。
主外键和主从表从目前看来是没有必然联系的,

只能说主从表必然有主外键,而有主外键的两张表不一定为主从表。

外键约束的要求


  1 ? 父表和子表必须使用相同的的存储引擎,而且禁止使用临时表。


      子表指的是有外键的表。


      父表是子表参照的表。 


  2 ? 数据表的存储引擎只能为INNODB.


  3 ? 外键列和参照列必须具有相似的数据类型。数字的长度或是否有符号位必须相同,而字符的长度则可以不同。


      外键列是增加过for in关键词的那列。


      参照列是外键列参照的列。


  4 ? 外键列和参照列必须创建索引。如果外键列不存在索引的话,MYSQL将自动创建索引。


       注意,是外建列而不是参照列。MySQL是不可能为参照列自动创建索引的。

添加键的语法

添加主键约束 alter table 表名 add constraint 主键名 primary key 表名(主键字段名)

添加外键约束 alter table 表名 add constraint 外建名 foreign key (外键字段名)references 关联表名 (关联字段名)

联合主键的写法:

primary key (字段1,字段2,……)

备注:在添加主键时,(主键字段名)这个主键字段名也可以写多个 (字段1,字段2,……)。这就算是添加联合主键的方法吧。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值