字段属性——列属性

2017-10-04  本文已影响0人  咸鱼有梦想呀

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

列属性

什么是列属性

一、空属性

两个值:Null(默认值)和Not Null(不为空)

虽然默认数据库基本字段为空,但是在实际上真正开发的时候,尽可能保证所有数据不应该为空。因为,空数据没有意义,也没有办法参与运算。

为什么设置空的原因:

为什么不设置空的原因

举个栗子:

举个栗子

二、列描述

列描述:comment

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

列描述的应用:

列描述

三、默认值(default)

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

举个栗子:

默认值

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

插入数据

四、主键(primary key)

主键:primary key,
主要的键。一张表里只能有最多一个主键,用来唯一 的约束该字段里的数据,不能重复。

主键本身不允许为空

增加主键:有三种方式

①在创建表的时候,直接在字段之后,跟primary key关键字。
只能使用一个字段作为主键
②在创建表的时候,在所有字段之后,使用primary key(主键字段列表)来创建列表
(如果有多个字段作为主键,可以是复合主键)
③当表已经创建好之后,再额外追加主键:特意通过修改字段属性,也可以直接追加
追加主键:Alter table <表名> add primary key(字段列表);
前提是:表中字段对应的数据本身是独立的(不重复)。
第一种方式增加主键 第二种方式增加主键 第三种追加主键

主键约束:主键对应的字段中的数据不允许重复;一旦重复,数据操作失败(增和改)保证了数据的唯一性。

删除主键

Alter table <表名> drop primary key;

主键无法更新,只能删了再增加

删除主键

五、自增长

自增长:当对应的字段,不给值,或者说是给默认值,或者给null时,会自动的被系统触发,系统会从当前字段中已有的最大值再进行+1操作,得到一个新的不同的字段

自增长通常是跟主键搭配

自增长的特点:auto_increment

1、任何一个字段要做自增长必须前提是本身是一个索引(key一栏有值)
2、自增长字段必须是数字(整型)
3、一张表最多只能有一个自增长

举个栗子:


自增长特点

自增长使用

当自增长被给定的值为null或者默认值的时候会出发自增长
自增长使用

修改自增长

自增长如果涉及到字段改变:必须先删除自增长,后增加(一张表只能有一个自增长)

修改当前自增长已经存在的值:修改只能比当前已有的自增长的最大值大,不能小(小不生效)
Alter table <表名> auto_increment = 值;
修改自增长

删除自增长

自增长是字段的一个属性:可以通过modify来进行修改(保证字段没有auto_increment即可)
Alter table <表名> modify <字段> <类型>;
删除自增长

六、唯一键(unique key)

一张表中往往有很多字段需要具有唯一性,数据不能重复;但是一张表中只能有一个主键。唯一键就可以解决表中有多个字段需要唯一性约束的问题

唯一键默认的允许自动为空,而且可以多个为空(空字段不参与唯一性的比较)

增加唯一键:有三种方式

1、在创建表的时候,直接在字段之后,跟unique/unique key
只能使用一个字段作为主键
2、在所有字段之后,增加unique key(字段列表);——复合唯一键
3、当表已经创建好之后,增加唯一键
增加唯一键:Alter table <表名> add unique key(字段列表);
第一种方案 第二种方案

更新唯一键

先删除,后新增

Alter table <表名> drop index 索引名;  

唯一键默认的使用字段名作为索引名字
删除唯一键
上一篇下一篇

猜你喜欢

热点阅读