mysql数据库相关操作二(索引)
先说一下索引的目的。索引是为了加快搜索的速度
(一)普通索引
创建普通索引
方式一:create index 索引名 on 表名(列名);
方式二:alter table 表名 add index 索引名(列名);
(二)主键索引
添加主键
alter table 表名 add primary key(列名);
再设置自动增长
alter table 表名 change 自增长列 重命名列 类型 auto_increment;
移除主键
要先移除自动增长的列:
alter table 表名 change 自增长列 重命名列 类型;
再移除主键
alter table 表名 drop primary key;
(三)唯一索引
唯一索引和主键索引并无区别只是规定要有一个主键,index_type都是B树(BTREE),他的列呢也跟主键列一样具有唯一性,不可以重复。
添加唯一索引
方式一:create unique index 索引名 on 表名(列名);
方式二:alter table 表名 add unique index(列名);
(四)多列索引
方式一:create index 索引名 on 表名(列名,列名,…..);
方式二:alter table 表名 add unique index(列名,列名,…..);
(五)删除各种索引
方式一:drop index 索引名 on 表名;
方式二:alter table 表名 drop index 索引名;
(六)查看索引
方式一:固定语法:show index from 表名;
方式二:固定语法:show keys from 表名;
(七)总结
索引是加快搜索速度的,除了主键索引意外,其他的索引都是在普通索引的基础上变形的。
- unique索引是在普通索引的语法上添加一个unique,具体看(三)唯一索引
- 多列索引是在普通索引的语法上增加几列。具体看上面的(四)多列索引
- 主键索引虽然和上面的索引的index_type一样,但是语法大有不同,具体看(二)主键索引
- 在移除索引上主键索引也和其他的不太一样,具体看(二)主键索引和(五)删除各种索引















浙公网安备 33010602011771号