欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL关于「列属性之空属性、列描述和默认值」的简单教程

程序员文章站 2022-03-23 19:45:04
列属性 列属性:实际上,真正约束字段的是数据类型,但是数据类型的约束比较单一,因此就需要额外的一些约束来保证数据的有效性,这就是列属性。 列属性有很多,例如:null、not null、defaul...

列属性

列属性:实际上,真正约束字段的是数据类型,但是数据类型的约束比较单一,因此就需要额外的一些约束来保证数据的有效性,这就是列属性。

列属性有很多,例如:null、not null、default、primary key、unique key、auto_increment和comment等。

空属性

空属性有两个值,分别为:null和not null.

虽然默认的字段基本都为空,但是实际上在真正开发的时候,要尽可能的保证数据不为空,因为空数据没有意义,也没办法参与运算。

执行如下 sql 语句,进行演示:

-- 空属性演示
create table my_class(
    grade varchar(20) not null,
    room varchar(20) null  -- 显式声明为空,实际上,默认就为空
)charset utf8;

MySQL关于「列属性之空属性、列描述和默认值」的简单教程

列描述

列描述:comment,表示描述,没有实际含义,是专门用来描述字段的,其会随着表创建语句自动保存,用来给程序员(数据库管理员)了解数据库使用。

执行如下 sql 语句,进行演示:

-- 列描述演示
create table my_friend(
    name varchar(20) not null comment '姓名',
    age tinyint not null comment '年龄'
)charset utf8;

MySQL关于「列属性之空属性、列描述和默认值」的简单教程

默认值

默认值:default,某一数据会经常性出现某个具体的值,因此可以在开始的时候就指定好,而在需要真实数据的时候,用户可以选择性的使用默认值。

执行如下 sql 语句,进行演示:

-- 默认值演示
create table my_default(
    name varchar(20) not null,
    age tinyint unsigned default 0,
    gender enum('男','女') default '男'
)charset utf8;

MySQL关于「列属性之空属性、列描述和默认值」的简单教程

如上图所示,在列属性default中已经展示了age和gender字段的默认值,这说明咱们设置成功啦!接下来,咱们再演示如何使用默认值:

-- 演示默认值的使用(即不该对应的字段赋值)
insert into my_default (name) values ('charies');
insert into my_default values ('guo',18,default);

MySQL关于「列属性之空属性、列描述和默认值」的简单教程

观察上面的 sql 语句及执行结果,相信大家已经知道如何使用默认值啦,即不给设置默认值的字段赋值或者用default代替相应的字段值。