zoukankan      html  css  js  c++  java
  • MySQL完整性约束

    一. 约束介绍

      约束条件与数据类型的宽度一样,都是可选参数.

      用于保证数据的完整性和一致性.

    二. 约束分类

      1. primary key (pk)  表示该字段为该表的主键,可以唯一的标识记录

      2. foreign key (fk)  标识该字段为该表的外键

      3. not null  标识该字段不能为空

        默认为空, 设置不为空就必须要为字段赋值

      4. unique key (uk)  标识该字段的值是唯一的

      5. anto_increment  标识该字段的值自动增长(整数类型, 而且为主键)

      6. default  为该字段设置默认值

        默认为null, 如果设置了默认值,并且插入数据时不给该字段赋值时,使用默认值.

    三 . 详细分类验证

      1. not null 和 default 

      

      

       2. unique

        ①. 单列唯一

        在mysql中称为单列唯一,即同一列内唯一

     

      

      

        将 name 字段设置为唯一, 不可以给 name 字段插入相同的值.

         ②. 联合唯一

       将id设置为单列唯一,将ip+端口设置为联合唯一,也就是ip+端口不可以相同,ip或端口相同可以.

       3. primary key

        在一个表中 : 单列可以做主键, 多列也可以做主键(复合主键)

        约束 : 字段的值不能为空而且唯一

        ①. 单列主键

      

      

        将id设置为主键, 主键唯一,而主键的值可以相同.

         ②. 复合主键  将多个字段一起设置为主键

        将ip+端口设置为联合主键,当ip+端口完全相同时,即使name字段的值不同也会报错

        而将其中一个端口修改之后,即使name字段的值相同也是可以插入表中的.

      4. auto_increment  自增长    

      

      将id设置为主键并且设置为自增长模式,插入数据时即使不插入id,表内也会自动生成数据id.并且每次 + 1 .

      也可以指定id 插入数据 :

      

      如果继续插入不指定 id 的数据, 会在之前的最后一条记录继续增长.

      

      如果将表内的数据全部删除之后再往这个表内查数据,id一样是在被删除数据的最后一条记录内的id数 + 1 :

      

      

      对应自增长来说,即使被删除的数据也拥有唯一的id.

      5. foreign key

        外键总结来说就是其他表的主键

        设置外键的目的是是某一张表的数据不要过于冗余,和编程中函数的思想相似.

        多表中,被关联的表是主表,关联表是从表.

        建表时要先建被关联表,后建关联表.    

  • 相关阅读:
    程序员修炼之道:从小工到专家
    2020.12.16收获
    2020.12.15收获
    2020.12.14收获
    2020.12.13收获
    Android学习第二天——对Android的简单了解
    Java学习12.18
    考试加分项
    Java学习12.17
    Java建议
  • 原文地址:https://www.cnblogs.com/dong-/p/9673387.html
Copyright © 2011-2022 走看看