Mysql的约束条件之not null(非空) 与 default(默认)

Mysql的约束条件之not null(非空) 与 default(默认)

我们先创建一个数据库表,这里是创建语句:

create table consumer(
    id int,
    name char(16),
    sex enum('male','female','other')not null,
    level enum('vip1','vip2','vip3'),
    hobbies set('play','music','read','run')
)

1.非空not null:

现在我们往表内插入内容:

insert into consumer values(1,'xiao','male','vip1','play,music')

运行后,我们来查看表内容:
在这里插入图片描述
not null是非空的意思——我们往表内的sex插入null试试:

insert into consumer values(2,'x',null,'vip1','play,music')

数据库报错:
在这里插入图片描述
但是别的没设置not null的,就可以为null:

insert into consumer values(2,null,'male','vip1','play,music')

运行后,查看表内容:
在这里插入图片描述
可以看到,没设置not null的就可以为空。
除了强制设定not null的,建表后,主键、分区字段等都是非空的。

2.default默认:

已经创建好了表,现在我们往表内插入语句(现在仅插入id和name):

insert into consumer(id,name) values(1,'xiao')

运行,查看表内容:
在这里插入图片描述
sex我们没有插入内容,但是有默认值,所以即便不插入,也有默认值’male’。

猜你喜欢

转载自blog.csdn.net/m0_50481455/article/details/114110978