列属性:真正约束字段的是数据类型,但是数据类型的约束很单一,需要一些额外的约束,来更加的保证数据的合法性,这就是列属性。
列属性
- 空属性(Null/Not Null)
- 列描述(comment)
- 默认值(default)
- 主键(primary key)
- 自增长
- 唯一键(unique key)
一、空属性
两个值: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 索引名; 唯一键默认的使用字段名作为索引名字
网友评论