mysql数据库相关操作二(索引)

先说一下索引的目的。索引是为了加快搜索的速度

(一)普通索引

创建普通索引

方式一:create index 索引名 on 表名(列名);

image

方式二:alter table 表名 add index 索引名(列名);

image

 

 

 

(二)主键索引

添加主键

alter table 表名 add primary key(列名);

image

再设置自动增长

alter table 表名 change 自增长列 重命名列 类型 auto_increment;

image

移除主键

要先移除自动增长的列:

alter table 表名 change 自增长列 重命名列 类型;

image

再移除主键

alter table 表名 drop primary key;

image

(三)唯一索引

唯一索引和主键索引并无区别只是规定要有一个主键,index_type都是B树(BTREE),他的列呢也跟主键列一样具有唯一性,不可以重复。

添加唯一索引

方式一:create unique index 索引名 on 表名(列名);

image

方式二:alter table 表名 add unique index(列名);

image

(四)多列索引

方式一:create index 索引名 on 表名(列名,列名,…..);

image

方式二:alter table 表名 add unique index(列名,列名,…..);

image

(五)删除各种索引

方式一:drop index 索引名 on 表名;

image

方式二:alter table 表名 drop index 索引名;

image

 

(六)查看索引

方式一:固定语法:show index from 表名;

image

方式二:固定语法:show keys from 表名;

image

(七)总结

索引是加快搜索速度的,除了主键索引意外,其他的索引都是在普通索引的基础上变形的。

  1. unique索引是在普通索引的语法上添加一个unique,具体看(三)唯一索引
  2. 多列索引是在普通索引的语法上增加几列。具体看上面的(四)多列索引
  3. 主键索引虽然和上面的索引的index_type一样,但是语法大有不同,具体看(二)主键索引
  4. 在移除索引上主键索引也和其他的不太一样,具体看(二)主键索引(五)删除各种索引
posted @ 2017-02-17 15:49  我们不该这样的  阅读(160)  评论(0)    收藏  举报