在总结主键和唯一键之前,先简单介绍一下索引。
索引
对目标数据单独建立一个索引文件,使得对这些数据的查询可以通过索引文件进行快速查询。
意义:
1、提高查询效率
2、约束数据的有效性(唯一性[主键、唯一键]等)
但是由于索引文件可能比数据本身还大,使用索引需综合考虑内存和查询效率问题。
索引种类:
1、主键索引:primary key
2、唯一键索引:unique key
3、全文索引:fulltext key
4、普通索引: index
primary key主键
在表中主键字段的每个数据都唯一,如(学号,id等),主键不允许该字段为空,创建主键后自动把该字段的属性改成not null
。
创建主键
语法:
1、创建表时:字段名 字段类型 字段属性 primary key
如:
create table my_pri1(id int primary key,name char(2));
2、创建表时:所有字段后,primary key(字段名)
如:
create table my_pri2(id int,name char(2),primary key(id));
3、创建表后:alter table 表名add primary key(字段名);
如:
alter table my_pri3 add primary key(id);
查看主键
语法:
1、desc 表名
2、show create table 表名
删除主键
语法:alter table 表名drop primary key;
复合主键
用多个字段组