zoukankan      html  css  js  c++  java
  • Mysql三天入门(三) 约束

    唯一性约束(unique)

    • 唯一性约束修饰的字段具有唯一性,不能重复。但可以为null。
      • 案例:给某一列添加unique
        username varchar(255) unique //列级约束
      • 给两个列或者多个列添加unique
        unique(usercode,username) //多个字段联合起来添加一个约束unique 【表级约束】
    • 注意:not null约束只有列级约束,没有表级约束。

    主键约束

    • 怎么给一张表添加主键约束
      id int primary key, //列级约束
      id是主键,因为添加了主键约束,主键字段中的数据不能为null,也不能重复。
    • 主键的特点:不能为null,也不能重复。
    • 主键相关的术语
      • 主键约束 :primary key
      • 主键字段 : id字段添加primary key之后,id叫做主键字段
      • 主键值 :id字段中的每一个值都是主键值
    • 主键有什么作用
      • 根据主键字段的字段数量来划分:
        • 单一主键 (推荐的,常用的。)
        • 复合主键(多个字段联合起来添加一个主键约束) (复合主键不建议使用,因为复合主键违背三范式。)
      • 根据主键性质来划分:
        • 自然主键 :主键值最好就是一个和业务没有任何关系的自然数。(这种方式是推荐的)
        • 业务主键 : 主键值和系统的业务挂钩,例如:拿着银行卡的卡号做主键、拿着身份证号做为主键。(不推荐使用)
          最好不要拿着和业务挂钩的字段做为主键。因为以后的业务一旦发生改变的时候,主键也可能需要随着发生变化,但有的时候没有办法变化,因为变化可能会导致主键重复。
      • 一张表的主键约束只能有1个。(必须记住)
    • 使用表级约束方式定义主键:
              id int,
    	  username varchar(255),
    	  primary key(id)
    
    • mysql提供主键值自增:
      id int primary key auto_increment, //id字段自动维护一个自增的数字,从1开始,以1递增。

    外键约束

    • 关于外键约束的相关术语:
      • 外键约束:foreign key
      • 外键字段:添加有外键约束的字段
      • 外键值:外键字段中的每一个值
    • 外键可以为null
    • 外键字段引用其他表的某个字段的时候,被引用的字段必须是主键吗
      • 注意:被引用的字段不一定是主键,但至少是具有unique约束,具有唯一性,不可重复!
  • 相关阅读:
    Codeforces 358 D. Dima and Hares
    sublime Text3配置及快捷键、插件推荐总结
    免费WiFi,仅仅为好久没联系的你们
    史上最简单的带流控功能的http server
    微软2014校园招聘笔试试题
    python 3Des 加密
    MySQL slave状态之Seconds_Behind_Master
    APP安全环节缺失,手游运营商怎样应对APP破解困境
    读完了csapp(中文名:深入理解计算机系统)
    static使用方法小结
  • 原文地址:https://www.cnblogs.com/thrseven/p/15120709.html
Copyright © 2011-2022 走看看