对原文章排版进行了一些改进,方便查看,以下为原文章地址。
转自:http://blog.csdn.net/qq_15037231/article/details/62055572
1、普通索引
(1)定义:最基本的索引类型,没有唯一性之类的限制。
(2)创建方式:
a、创建索引,例如CREATE INDEX <索引的名字> ON tablename (列的列表);
b、修改表,例如ALTER TABLE tablename ADD INDEX [索引的名字] (列的列表);
c、创建表的时候指定索引,例如CREATE TABLE tablename ( [...], INDEX [索引的名字] (列的列表) );
2、唯一索引(UNIQUE索引)
(1)定义:不允许其中任何两行具有相同索引值的索引。
(2)创建原则:
a、当现有数据中存在重复的键值时,大多数数据库不允许将新创建的唯一索引与表一起保存。
b、数据库还可能防止添加将在表中创建重复键值的新数据。
例如,如果在 employee 表中职员的姓 (lname) 上创建了唯一索引,则任何两个员工都不能同姓。对某个列建立UNIQUE索引后,插入新纪录时,数据库管理系统会自动检查新纪录在该列上是否取了重复值,在CREATE TABLE 命令中的UNIQE约束将隐式创建UNIQUE索引。
(3)创建方式:
a、创建索引,例如CREATE UNIQUE INDEX <索引的名字> ON tablename (列的列表);
b、修改表,例如ALTER TABLE tablename ADD UNIQUE [索引的名字] (列的列表); ;
c、创建表的时候指定索引,例如CREATE TABLE tablename ( [...], UNIQUE [索引的名字] (列的列表) );
3、主键索引
(1)定义:简称为主索引,数据库表中一列或列组合(字段)的值唯一标识表中的每一行。该列称为表的主键。
(2)创建时间:在数据库关系图中为表定义主键将自动创建主键索引。
(3)性质:
a、主键索引是唯一索引的特定类型。
b、该索引要求主键中的每个值都唯一。
c、当在查询中使用主键索引时,它还允许对数据的快速访问。
d、尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键索引。
(1)定义:与主索引一样要求字段值的唯一性,并决定了处理记录的顺序。
(2)性质:在数据库和自由表中,可以为每个表建立多个候选索引。