mysql学习总结(二)

这周的收获主要就是细节方面与思维方面的一些小小的提升吧。首先做师兄布置给的作业学会了如何三表联查;具体就是 :   select *from (表1 inner join 表2 on表1.字段号=表2.字段号)inner join 表3 on 表1.字段号=表3.字段号;     。    还有在实践的过程中发现那种很长的字段名中间是不能分开的,比如说commdity ID 中间的那个空格就不能有,否则会报错;以及详细的了解了一下各种约束:(主键约束、自增约束、外键约束、唯一约束、非空约束、默认约束)     虽然“因为降低数据导入的效率以及增加维护成本而避免使用外键约束”,但是师兄坚持让我学,那么我来总结一下我所学的重点:         基本语法:add foreign key(外键字段)reference主表(主键)on 约束模式   

约束模式:1.district :不允许操作    2.cascade:级联(主表变化,从表跟着变化)   3.set null:置空模式  ,主表变化(删除),从表对应记录设置为空。             注意:外键约束主要的对象是主表操作,从表就是不能插入主表不存在的数据。(设置为空的话也可以)                         通常在进行约束的时候需要指定操作:update 和 delete                 通常约束模式 : on update cascade(更新级联),    on  delete  set null(删除置空)                   总之:约束的作用就是保证数据的完整性,主表与从表的数据要一致,正是因为外键有非常强大的数据约束作用,而且可能导致数据在后台的变化不可控,导致程序在进行设计开发逻辑的时候,没有办法很好的把握数据(业务),所以外键比较少使用

接下来就是我听了N多课,找了N多资料才明白的一二三范式,最后跟师兄讨论后也才真正对其有些理解。简而言之,第一范式:没有重复的列      第二范式:属性完全依赖于主键(消除部分子函数依赖) 第三范式 : 属性不依赖与其他非主属性(消除传递依赖)  。

最后是自己今天上午的收获     : 

key值(PRI UNI  MUL) 的含义  :    如果key值是空的,那么该列值可以重复,表示该列没有索引,或者是一个非唯一的复合索引的非前排导列

                                                          如果key是PRI,那么该列是主键的组成部分

                                                          如果key是UNI,那么该列是一个唯一值索引的第一列(前导列),并且不含有空值NULL

                                                          如果key是MUL,那么该列的值可以重复,该列是一个非唯一索引的前导列(第一列)或者是                                                            一个唯一性索引的组成部分但是可以含有空值NULL。

   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值