史上最简单的 MySQL 教程(九)「列属性 之 空属性、列描述和默认值」
列属性
列属性:实际上,真正约束字段的是数据类型,但是数据类型的约束比较单一,因此就需要额外的一些约束来保证数据的有效性,这就是列属性。
列属性有很多,例如: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;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4tKq4bei-1648097200246)(https://github.com/guobinhit/mysql-tutorial/blob/master/images/column-null-comment-default/create-table-myclass.png)]
列描述
列描述:comment,表示描述,没有实际含义,是专门用来描述字段的,其会随着表创建语句自动保存,用来给程序员(数据库管理员)了解数据库使用。
执行如下 SQL 语句,进行演示:
-- 列描述演示 create table my_friend( name varchar(20) not null comment '姓名', age tinyint not null comment '年龄' )charset utf8;
默认值
默认值:default,某一数据会经常性出现某个具体的值,因此可以在开始的时候就指定好,而在需要真实数据的时候,用户可以选择性的使用默认值。
执行如下 SQL 语句,进行演示:
-- 默认值演示 create table my_default( name varchar(20) not null, age tinyint unsigned default 0, gender enum('男','女') default '男' )charset utf8;
如上图所示,在列属性Default中已经展示了age和gender字段的默认值,这说明咱们设置成功啦!接下来,咱们再演示如何使用默认值:
-- 演示默认值的使用(即不该对应的字段赋值) insert into my_default (name) values ('Charies'); insert into my_default values ('Guo',18,default);
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7zoVR5UP-1648097200248)(https://github.com/guobinhit/mysql-tutorial/blob/master/images/column-null-comment-default/insert-mydefault.png)]
观察上面的 SQL 语句及执行结果,相信大家已经知道如何使用默认值啦,即不给设置默认值的字段赋值或者用default代替相应的字段值。