MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)

文章目录

  • 1.表的约束
    • 1.1 非空属性 not null
    • 1.2 默认值 default
    • 1.3 列描述 comment
    • 1.4 显示属性 zerofill
    • 1.5 主键 primary key
      • 1.5.1 创建表的时候设置主键
      • 1.5.2 主键约束
      • 1.5.3 表创建好之后,追加主键
      • 1.5.4 删除主键
    • 1.6 自增长 auto_increment
    • 1.7 唯一键 unique
    • 1.8 外键 foreign key

1.表的约束

在MySQL中真正约束字段的是数据类型,如果想要更好的保证数据的合法性,就需要一些额外的约束,比如身份证号我们就需要保证他是唯一的

1.1 非空属性 not null

在创建数据表时 ,对于属性如果不加额外的声明一般都可以为空,并且默认值为空,但是在实际中,比如有一个属性年龄、身份证号等重要信息,我们需要尽可能的保证字段不为空。
如果需要属性值不为空,在创建表时直接在后面加not null即可
MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)_第1张图片

1.2 默认值 default

默认值: 在创建表时就设定好的值,在插入数据时,如果用户没有指定数据则使用默认值,如果用户指定了数据,新数据会替代默认值
MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)_第2张图片

1.3 列描述 comment

comment:没有任何实际含义,专门用来解释字段的含义
MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)_第3张图片

1.4 显示属性 zerofill

zerofill 类似一个显示属性
MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)_第4张图片

1.5 主键 primary key

主键:primary key
主键不能重复不能为空

1.5.1 创建表的时候设置主键

MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)_第5张图片
在创建表的时候,在所有字段之后使用primary key来创建主键,如果有多个字段作为主键,可以使用复合主键
MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)_第6张图片

1.5.2 主键约束

MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)_第7张图片

1.5.3 表创建好之后,追加主键

 alter table 表名 add primary key(字段列表)

MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)_第8张图片

1.5.4 删除主键

alter table 表名 drop primary key;

MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)_第9张图片

1.6 自增长 auto_increment

auto_increment:当对应的字段不给值,会自动的被系统触发,系统会找出当前字段中已有的最大值进行+1操作,得到一个新的不同的值
通常和主键搭配使用,作为逻辑主键
MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)_第10张图片
自增长字段必须是整数
一张表最多只能有一个自增长

1.7 唯一键 unique

一张表中往往有很多字段数据不能重复,但是一张表中只能有一个主键,唯一键就可以解决表中多个字段需要唯一性约束的问题
唯一键允许为空,而且可以多个为空,空字段不做唯一性比较
语法:在属性字段后加unique即可
MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)_第11张图片

1.8 外键 foreign key

外键用于定义主表和从表之间的关系,当定义外键后,要求外键列数据必须在主表中的主键列存在或者为null。即就是从表中的外键和主表中的主键对应。
例子:
MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)_第12张图片
定义外键:foreign key(字段名) references 主表(列)
MySQL中表的约束(非空 not null、默认值default、列描述comment、zerofill显示属性、主键约束、删除主键、创建主键、自增长auto-increment、唯一键、外键)_第13张图片

你可能感兴趣的:(MySQL,MySQL学习之旅,MySQL中的表约束,非空,not,null,默认值default,zerofill显示属性,主键约束,删除主键,创建主键,自增长auto-increm,唯一键,外键)