MYSQL——列属性、列描述、默认值

时间:2021-07-15 01:33:42

一、列属性

    列属性:真正约束字段的是数据类型,但是数据类型的约束很单一,需要有一些额外的约束来更加保证数据的合法性。

    列属性有很多:NULL/NOT NULL ,default,Primary key, unique key ,auto_increment,comment.

(1)空属性:

       两个值:NULL(默认)和NOT NULL(不为空)
       虽然默认的,数据库基本都是字段为空,但是实际上在真实开发的时候,尽可能的要保证所有的数据都不应该为空:空数据没用意义;空数据没有办法参与运算

     

1 select NULL2 select 1+NULL;    --计算结果空值

MYSQL——列属性、列描述、默认值

(a)创建一个实际案例表:班级表(名字、教室)

1 create table my_class(name varchar(20) not null , room varchar(20) null) charset utf8;   --null 代表允许为空,不写默认为空

MYSQL——列属性、列描述、默认值

 

二、列描述

    列描述:comment,描述,没有实际含义:是专门用来描述字段,会根据表结构语句保存:用来给程序员(数据管理员)来进行了解的。

    (a)创建表:

  

1 create table my_teacher(name varchar(20) not null comment '姓名', money decimal(10,2) not null comment '工资')charset utf8; 
2 desc my_teacher;
3 show create table my_teacher;

结果如下:

MYSQL——列属性、列描述、默认值

 

三、默认值

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

     默认值关键字:default

     (a) 创建表:

   

1 create table my_default(name varchar(20) not null, age tinyint unsigned default 0, gender enum('','','保密') default '') charset utf8;
2 desc my_default;

 结果如下:

MYSQL——列属性、列描述、默认值

 2. 默认值的生效使用,在数据进行插入的时候,不给该字段赋值。

  (b) 插入数据:     

1 insert into my_default (name) values('高强');
2 select * from my_default;

结果如下:(高强的年龄和性别自动默认为0和男)

MYSQL——列属性、列描述、默认值

:想要使用默认值,可以不一定去指定列表,故意不适用字段列表:可以使用default关键字代替值

  (c)  

  

1 insert into my_default values ('范利锋',18,denfault);
2 select * from my_default;

结果如下:

MYSQL——列属性、列描述、默认值