MySQL创建索引

一.在建立表时建立索引

在建立表时创建索引的语法:

create table 表名(

列名1  列名1属性....

列名2  列名2属性....

 

列名 列名的属性

【UNIQUE(唯一性的约束)|FULLTEXT(全文索引)|SPATIAL(空间索引)】INDEX|KEY 【别名】(属性名 【长度】【ASC|DESC】

);

INDEX|KEY 【别名】(属性名 【长度】【ASC|DESC】注解:

使用index或者是key来指定一个字段索引,同时也可以给索引指定别名。

长度:只有字符串类型才可以指定索引的长度。

asc/desc:排序

1.1.创建普通索引

创建普通的索引,不添加UNIQUE和FULLTEXT等任何参数

例子:

use study;
create table sorc(
s_id int primary key,
s_name varchar(10),
index indexs (s_id desc)
);

 

 

 

那么现在这个indexs就是一个普通索引。

1.2.创建唯一性索引

就是在index前面加上修饰词unique

例子:

 

use study;
create table sorc1(
s_id int primary key,
s_name varchar(10),
unique indexs (s_id desc)
);

现在就有一个唯一性索引indexs了

1.3.创建全文索引

就是在index前面加上修饰词fulltext,但是需要注意只有char和varchar以及text类型才支持。否者就会报错如下:

1.4.创建多列索引

在一个括号中用“,”分开列名即可。

 例子:

use study;
create table if not exists sorc4 (
s_id int primary key,
s_name varchar(10),
unique indexs (s_id,s_name)
);

 

 现在就有两个索引了。

二.在已有的表中去建立索引

 在已有的表中建立索引的语法:

 create 【unique|fulltext|spatial】index 索引名 on  表名(长度 【ASC|DESC】);

 例子:

create unique index index_id on sorc4(s_id);

 

 三.删除索引

 语法:drop  index  索引名  on  表名;

 例子:

drop index index_id on sorc4;

 

posted on 2018-09-20 16:00  真正的小明被占用了  阅读(7219)  评论(0编辑  收藏  举报

导航