声明:本文转载自 维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;