MySQL约束(四)- 非空约束与默认值约束

青林
青林
青林
4
文章
0
评论
2020-09-0413:09:00 评论 78 820字
摘要

非空约束用来约束表中的字段不能为空。在表中某个列的定义后加上关键字 NOT NULL 作为限定词,来约束该列的取值不能为空。默认值约束用来约束当数据表中某个字段不输入值时,自动为其添加一个已经设置好的值。

5. 非空约束(NOT NULL)

非空约束用来约束表中的字段不能为空。在表中某个列的定义后加上关键字 NOT NULL 作为限定词,来约束该列的取值不能为空。例如,在学生信息表中,如果不添加学生姓名,那么这条记录是无效的,这种情况下就可以为用户名字段设置非空约束。

5.1 在创建表时设置非空约束

语法格式:

MySQL约束(四)- 非空约束与默认值约束 

创建学生信息表st_info, 指定st_id为主键,学生姓名不能为空:

MySQL约束(四)- 非空约束与默认值约束 

5.2 在修改表时添加非空约束:

如果在创建表时忘记了为字段设置非空约束,可以通过修改表进行非空约束的添加。语法格式:

MySQL约束(四)- 非空约束与默认值约束 

修改学生信息表st_info中class字段,设置成非空约束:

MySQL约束(四)- 非空约束与默认值约束 

5.3 删除非空约束

可以在修改语句中删除非空约束,语法格式:

MySQL约束(四)- 非空约束与默认值约束 

修改学生信息表st_info,将class字段的非空约束删除:

MySQL约束(四)- 非空约束与默认值约束 

6. 默认值约束(DEFAULT)

默认值约束用来约束当数据表中某个字段不输入值时,自动为其添加一个已经设置好的值。

例如,在注册学生信息时,如果不输入学生的性别,那么会默认设置一个性别或者输入一个"未知"。

默认值约束通常用在已经设置了非空约束的列,这样能够防止数据表在录入数据时出现错误。

6.1 在创建表时设置默认值约束

语法格式:

MySQL约束(四)- 非空约束与默认值约束 

创建学生信息表st_info,设置年龄age默认值为18:

MySQL约束(四)- 非空约束与默认值约束 

6.2 在修改表时添加默认值约束

语法格式:

MySQL约束(四)- 非空约束与默认值约束 

修改学生信息表st_info,将性别设置默认值为"保密":

MySQL约束(四)- 非空约束与默认值约束 

需要注意的是这里gender字段为字符串型数据,需要加上引号;

6.3 删除默认值

删除默认值即为将默认值设置为空(null),语法格式:

MySQL约束(四)- 非空约束与默认值约束 

修改学生信息表st_info, 将gender性别字段的默认值删除掉:

MySQL约束(四)- 非空约束与默认值约束 

总结:

【注】前面讲到的6个约束有的可以联合使用,并不是都需要单独来使用的。

其他文章快速定位:

MySQL约束(一)- 主键约束

MySQL约束(二)- 外键约束

MySQL约束(三)-唯一约束与检查约束

End.

编辑整理:爱数据助教

未经允许禁止转载,需要转载请微信联系授权(微信号:ishujiang)

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: