美文网首页
MySQL学习日记(11)字段约束

MySQL学习日记(11)字段约束

作者: copymaker | 来源:发表于2021-01-29 10:38 被阅读0次

    有时只定义了字段的数据类型还不够,还要设置其他一些附加的属性,如自动增量的设置、自动补0的设置和默认值的设
    置等一些特殊的设置。下面具体介绍这些特殊字段的属性。

    1. UNSIGNED无符号
      该属性只能用于设置数值类型,不允许数据列出现负数。如果不需要向某字段中插入负数,则使用该属性修饰可以使该
      字段的最大存储长度增加一倍。例如,正常情况下数据类型TINYINT的数值范围在-128 127,而使用UNSIGNED属性修饰以
      后最小值为0,最大值可以达到255.
    例子

    创建了一个UNSIGNED_例子数据表,查看数据表结构 id 是TINYINT 类型,id2是TINYINT UNSIGNED类型,插入数据128时 id报错,id2则可以正常插入。

    1. ZEROFILL补零
      该属性也只能用于设置数值类型,在数值之前自动用0补齐不足的位数。例如,将5插入一个声明为int(3) ZEROFILL的字段,
      在之后查询输出时,输出的数据将是“005"。当给一个字段使用ZEROFILL修饰时,该字段自动应用UNSIGNED属性。


      例子
    2. AUTO_ INCREMENT自动增量
      该属性用于设置字段的自动增量属性,当数值类型的字段设置为自动增量时,每增加一条新记录,该字段的值就自动加1,
      而且此字段的值不允许重复。此修饰符只能修饰整数类型的字段。插入新记录时自增字段可以为NULL、0或留空,这时自增
      字段自动使用上次此字段的值加1,作为此次的值。插入时也可以为自增字段指定某-非零数值,这时,如果表中已经存在此
      值将出错;否则使用指定数值作为自增字段的值,并且下次插入时,下个字段的值将在此值的基础上加1。


      例子
    • 需要注意的时自动增量约束必须要设置为主键(只能有一个自动增量的字段)。
    1. NULL和NOT NULL 空与不为空
      默认为NULL,即没有在此字段插入值。如果指定了NOT NULL,则必须在此字段插入值。


      例子
    • NULL时默认为空
    • NOT NULL插入时必须要填写值,否则报错
    1. DEFAULT 默认值
      可以通过此属性来指定一个默认值,如果没有在此列添加值,那么默认添加此值。例如,在用户表users中, 可以将性别
      字段的默认值设置为“男”。在为该列插入数据时,只在当用户为“女”时才需要指定,否则可以不为该字段指定值,默认
      值就为“男”。
    创建一个表
    例子

    相关文章

      网友评论

          本文标题:MySQL学习日记(11)字段约束

          本文链接:https://www.haomeiwen.com/subject/wguxtltx.html