MySQL 5.6学习笔记(索引的创建与删除)
2013-11-13 10:36
627 查看
1. 创建索引
1.1 创建新表时同时建立索引
语法:create table table_name[col_name data_type] [unique|fulltext|spatial][index|key][index_name](col_name[length],...)[asc|desc]
-unique、fulltext、spatial为可选参数,分别表示唯一索引、全文索引、空间索引。只有MyISAM存储引擎支持全文索引、空间索引。
-index与key是同义词。
-index_name也为可选参数,不指定则由MySQL决定。
-length为可选参数,只有字符串类型的字段才能指定索引长度。
示范:
create table book ( ..., year_publication year not null, index(year_publication) );
其它写法:
unique index Uniqidx(id) ... index ingleidx(name(20)) ... index multiidx(id,name,age)
组合索引可以起几个索引的作用,但是使用时并不是随便查询哪个字段都可以使用索引,而是遵从“最左前缀”:利用索引中最左边的列集来匹配行。比如上面示范中的:index multiidx(id,name,age)索引,索引行中按id/name/age的顺序存放,索引可以搜索下面字段组合:(id,name,age)、(id,name)或者id。如果列不构成索引最左面的前缀,MySQL不能使用局部索引,如:(age)或者(name,age)。
1.2 在已经存在的表上创建索引
语法一:alter table table_name add [unique|fulltext|spatial] [index|key] [index_name](col_name[length],...)[asc|desc]
语法二:
create [unique|fulltext|spatial] index index_name on table_name(col_name[length],...) [asc|desc]
不太建议使用语法二,因为它与Oracle的语法相去甚远。
2. 查看索引
show index from table_name\G
3. 删除索引
语法一:alter table table_name drop index index_name;
语法二:
drop index index_name on table_name;
相关文章推荐
- MySQL学习笔记--索引的创建,删除
- 32.笔记 MySQL学习——创建索引
- mysql索引学习----2----创建索引、修改索引、删除索引的命令语句
- MySQL学习笔记--创建高性能索引
- 33.笔记 MySQL学习——删除索引
- MySQL学习笔记--触发器的创建与删除及使用注意事项
- MySQL学习笔记----创建修改删除表
- MySQL学习笔记2:数据库的基本操作(创建删除查看)
- Elasticsearch 学习笔记 索引创建、插入、查询、修改、删除
- mysql学习笔记(7)索引的创建与管理
- mysql 索引的创建与优化 学习笔记
- MySQL 5.6学习笔记(查询数据、插入、更新、删除数据)
- MySQL学习笔记--视图的创建,删除,修改,算法
- 【MySQL学习笔记】2:创建/删除/查看数据库,数据表
- MySQL学习笔记之创建、删除、修改表的方法
- mysql索引学习----2----创建索引、修改索引、删除索引的命令语句
- MySQL索引的查看创建和删除学习
- MySQL学习笔记3(创建、修改、删除表)
- mysql表、视图、索引(创建、修改、删除)相关示例