数据库 - 字段属性
主键 – 唯一键和自增长
主键
增加主键
大体分为三种增加主键的方式:
方案一:
高清图:
方案二:有多个字段作为主键可以是复合主键。
方案三:
主键约束
创建约束的目的就是保证数据的完整性和一致性。
主键对应的字段中的数据必须唯一,且不能为NULL, 一旦重复,数据操作失败(增和改)
建议主键使用数字类型,因为数字的检索速度非常快,并且主键如果是数字类型,还可以设置自动增长,主键的原理其实就是一个计数器。
更新主键 and 删除主键
没有办法来更新主键,主键必须先删除,才能增加
Alter table 表名 drop primary key;
主键分类 - 逻辑主键
自动增长
新增自增长
自增长的特点:
- 任何一个字段要做自增长必须前提是本身是一个索引(key一栏有值 - 像之前的key那一栏中主键的话,),auto_increment表示自动编号
- 自增长字段必须是数字(整型)
- 一张表最多只能有一个自增长
自增长的使用
当自增长被给定的值为NULL或者默认值的时候会触发自动增长
先建立一张自增长表
切记:在每次书写语句以后,在最后一句后面不用添加逗号,直接用小括号加上分号结束即可。
当自增长被给定的值为NULL或者默认值的时候会触发自动增长.
自增长如果对应的字段输入了值,那么自增长失效,但是下一次还是能够正确的自增长,(最大值 + 1)
删除自增长
自增长是字段的一个属性,可以通过modify 来进行修改(保证字段没有auto_increment即可)
Alter table 表名 modify 字段 类型;
唯一键
一张表往往有很多字段需要具有唯一性,数据不能重复: 但是一张表中只能有一个主键: 唯一键(unique key)就可以解决表中有多个字段需要唯一性约束的问题.
一张表只有一个主键,但是可以有很多的唯一键。
唯一键的本质与主键差不多: 唯一键默认的允许自动为空,而且可以多个为空(空字段不参与唯一性比较)
添加唯一键的三种方案:基本与主键差不多!
- 在创建表的时候,字段之后直接跟上 unique / unique key
- 在所有的字段都添加之后,增加unique key(字段列表) – 复合唯一 键
- 在创建表之后增加唯一键
(alter table 表名 add unique key(列名);)
唯一键约束
唯一键与主键本质相同: 唯一的区别就是唯一键默认允许为空,而且是多个为空.
一般在设置主键以后,自己自己添加自增长。
如果唯一键也不允许为空: 与主键的约束作用是一致的.
如果唯一键也不允许为空: 与主键的约束作用是一致的.
更新唯一键 & 删除唯一键
外键
外键:即外面的键:键不在自己表中,如果一张表中有一个字段(非主键)指向另外一张表的主键,那么该字段称之为外键。
增加外键
reference 提及,谈到
!!! 在命令行书写时,我们的注释 – 后面需要空出一格来!