数据库索引是一种提高操作速度的数据结构。一个或多个列可用于表中,提供快速和随机查找的两个基本索引和有效的顺序访问记录。

在创建索引时,应该将其看作是在SQL查询列上创建一个或多个索引的列。

事实上,索引还保持主键或索引字段和指针的实际表中每个记录的表现形式。

用户不能看到索引,它们只用于加快查询速度,数据库搜索引擎发现的记录非常快。

INSERT和UPDATE语句表中的索引需要更多的时间来成为这些表的快速SELECT语句。原因是,在插入或更新时,数据库需要懒惰或更新索引值。

简单而独特的索引:

可以创建具有唯一索引的表。唯一的索引意味着两行不能具有相同的索引值。


创建唯一索引index_name
在table_name(column1,column2,…);




你可以使用一个或多个列创建索引。例如,我们可以创建一个索引,用于在表tutorials_tbl的tutorial_author柱


创建唯一索引author_index
在tutorials_tbl(tutorial_author)




可以创建一个带有简单索引的表。通过省略惟一关键字的查询创建一个简单的索引。

如果你想在降序索引列,你可以列名称后添加关键字查询:


MySQL创建唯一索引author_index >
在tutorials_tbl(tutorial_author降序)




更改命令添加和删除索引:

添加到索引中的语句表有四种:

修改表tbl_name添加主键(column_list):这个语句添加一个主键,这意味着该指数的值必须是唯一的,不为空。
修改表tbl_name添加独特的index_name(column_list):该语句创建一个索引的值必须是唯一的(除了空值,这可能会发生很多次了)。
修改表tbl_name添加索引index_name(column_list):这增加了一个普通的指数,在它的任何价值可能不止一次出现。
修改表tbl_name添加全文index_name(column_list):这将创建的文本搜索的目的的一种特殊的全文索引。


下面是一个向现有表添加索引的示例。


MySQL >修改表testalter_tbl添加索引(C);




您可以使用下拉子句删除任何索引,并使用修改命令。


MySQL >修改表testalter_tbl下降指数(C);




您可以使用下拉子句T删除任何索引,并使用修改命令。

更改命令添加和删除主键:

您可以以相同的方式添加主键,但要确保主键位于非空的列上。

这是一个向现有表添加主键的示例。


MySQL >修改表testalter_tbl修改我int不空;
MySQL >修改表testalter_tbl添加主键(我);




可以使用更改命令来删除主键,如下所示:


MySQL >修改表的主键testalter_tbl滴;




要删除索引,这不是主键,因此必须指定索引的名称。

显示索引信息:

可以使用显示索引命令列出所有相关的索引表:

请尝试以下示例:


MySQL >显示指数从table_name G
…