mysql数据库列属性

mysql数据库列属性主要有:null/not null,default,primary key, unique key, auto_increment, comment等

(1)空属性:null/not null

mysql数据库列属性_第1张图片

(2)列描述:comment

mysql数据库列属性_第2张图片

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

使用方式:默认值的关键字default

mysql数据库列属性_第3张图片

(4)主键:primary key, 主要的键,一张表中只能有一个字段可以使用对应的键,用来唯一约束该字段里的数据,这样的键叫主键。一张表最多能有一个主键。

SQL给表增加主键大体有三种:

1、在创建表的时候,直接在字段后面跟primary key 关键字。

mysql数据库列属性_第4张图片

2、在创建表的时候,在所有的字段之后,使用primary key(主键字段列表)来创建主键(如果有多个字段作为主键,可以叫复合主键

mysql数据库列属性_第5张图片

3、先创建一个没有标明字段是主键的表,然后修改通过修改表字段属性来追加字段主键

mysql数据库列属性_第6张图片

主键约束

主键对应的字段中的数据不允许重复,一旦重复,数据操作失败(增和改操作)

mysql数据库列属性_第7张图片

删除主键:

mysql数据库列属性_第8张图片


自增长:

自增长。什么是自增长呢?当对应的字段,不给值,或者给默认值,或者给NULL的时候,会自动的被系统触发,系统会从当前字段中已有的最大值再进行+1操作,得到一个新的不同字段。典型的例子就是在excel表格每一列,我们往下拉就自动增长。自增长通常是跟主键搭配使用。

1) 任何一个字段要做自增长必须前提是本身是一个索引(key一栏有值)


2) 自增长字段必须是数字(整形)

mysql数据库列属性_第9张图片

3) 一张表最多只能有一个自增长


当自增长被给定的值为NULL或者默认值的时候会触发自动增长,下面来看一个自增长的使用例子。

mysql数据库列属性_第10张图片


修改自增长:

自增长如果是涉及到字段改变,必须先删除自增长,后增加(一张表只能有一个自增长)。修改当前自增长以及存在的值:修改只能比当前已有的自增长的最大值大,不能小。

格式:alter table 表名auto_increment = 值;


先查看当前表的auto_increment的值是多少

mysql数据库列属性_第11张图片

mysql数据库列属性_第12张图片

删除自增长,

mysql数据库列属性_第13张图片

修改了id列的属性,相当于删除不自增长。


唯一键:一张表往往有很多字段需要具有唯一性,数据不能重复,但是一张表中只能有一个主键。唯一键(unique key)就可以解决表中有多个字段需要唯一性约束的问题。唯一键的本质与主键差不多,唯一键默认的允许自动为空,而且可以多个为空(因为字段为空不参与唯一性比较)。

1、方案1:在创建表的时候,字段之后直接跟unique关键字

mysql数据库列属性_第14张图片

2、在所有的字段之后增加unique key(字段列表); -- 支持复合唯一键

mysql数据库列属性_第15张图片

上面显示PRI,其实不是主键,原因是:这里number刚好是一个不为空的唯一键(主键性质一样),真实原因是该表没有主键,系统自动给添加上去的。具体你可以使用下面show create table命令查看。

mysql数据库列属性_第16张图片

在创建表之后增加唯一键

mysql数据库列属性_第17张图片

唯一键约束

唯一键和主键本质相同,唯一区别是唯一键允许为空,而且多个字段允许为空。

mysql数据库列属性_第18张图片

上面表示如果列属性有unique修饰,那么是允许为空,但是不能重复,下面来验证唯一性冲突检查。

mysql数据库列属性_第19张图片

删除唯一键:

语法格式:alter table 表名drop index 索引名称;

mysql数据库列属性_第20张图片

mysql数据库列属性_第21张图片

你可能感兴趣的:(数据库)