MySQL_006_基础_列属性之 空属性、列描述和默认值

时间:2021-09-30 09:59:27

声明:本文转载自 维C果糖的博客,只是原文的一部分。mysql版本5.5.28,可视化工具 Navicat

列属性

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

包括:null、 not null、 default、 primary key、 unique key、auto_increment 和comment等。

空属性

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

虽然默认数据库的字段基本都为空,但是实际上在真正开发的时候,要尽可能的保证数 据不为空,因为空数据没有意义,也没办法参与运算,并且要增加对null数据的判断(费心费力)。如果允许,还是设置为not null + 默认值吧。

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

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

列描述

列描述:comment,用来描述字段。

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

默认值

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


create table my_default(
id int PRIMARY KEY auto_increment, -- 主键 自增
name varchar(20) not null,
age tinyint unsigned default 0, -- 年龄在0-255肯定够够的,推荐tinyint
sex enum('男','女') default '男' -- 枚举
)charset utf8;