一、自动增长
·定义:auto increase,当给定某个字段该属性后,该列的数据在没有提供确定数据的时候,系统会根据之前已经存在的数据进行自动增长后,填充数据。
自动增长主要用于逻辑主键。
·原理
1.在系统中有维护一组数据,用来保存当前使用了自动增长属性的字段,记住当前对应的数据值,再给定一个指定的步长
2.当用户进行数据插入的时候如果没有给定值,系统在原始值上再加上步长变成新的数据。
3.自动增长的触发,给定属性的字段没有提供值。
4.自动增长只适用于数值
·使用自动增长
基本语法:在字段之后增加一个属性auto_increment
插入数据:触发自动增长,不能给定具体值。
·修改自动增长
1.查看自增长;自增长一旦触发使用之后,会自动的在表选项中增加一个选修(一张表最多只能拥有一个自增长)
2.表选项可以通过修改表结构来实现
alter table 表名 auto_increment = 值;
·删除自动增长
删除自增长:就是在字段属性之后不再保留auto_increment,当用户修改自增长所在字段时,如果没有看到auto_increment属性,系统会自动清除该自增长。
·初始设置
在系统中,有一组变量用来维护自增长的初始值和步长。
基本语法:
show variables like ‘auto_increment%’;
·细节问题
1、一张表只有一个自增长;自增长会上升到表选项中。
2、如果数据插入中没有触发自增长,那么自增长不会表现
3、自增长修改的时候,值可以较大,但是不能比当前已有的自增长字段的值小。
二、唯一键(unique key)
用来保证对应的字段中的数据唯一的。
主键也可以用来保证字段数据的唯一性,但是一张表只能有一个主键。
1.唯一键在一张表中可以有多个。
2.唯一键允许字段为null,null可以有多个(null不参与比较)
·创建唯一键
1.直接在表字段之后增加唯一键标识符:unique[key]
2.在所有的字段之后使用unique key(字段列表);
3.在创建完表之后也可以增加唯一键。
基本语法:
alter table 表名 add unique key(字段列表)
·查看唯一键
唯一键是属性,就可以通过查看表结构来实现。
唯一键的效果:在不为空的情况下,不允许重复。
在查看表创建语句时,会看到与主键不同的一定,会多出一个名字。
·删除唯一键
一个表中允许存在多个唯一键:假设命令为主键一样:alter table 表名 drop unique key;//是错误的语法
删除的基本语法:alter table 表名 drop index 唯一键名字;
index关键字:索引,唯一键是索引一种(提升查询效率)
修改唯一键:一般是先删除后增加
·复合唯一键
唯一键与主键一样,可以使用多个字段共同保证唯一性。
一般主键都是单一字段(逻辑主键),而其他需要唯一性的内容都是由唯一键来处理。