mysql里的索引操作语句

北京皮炎医院专家 http://pf.39.net/bdfyy/bdfzj/210611/9051898.html

1.普通索引的创建、删除、修改。

createtabletest1(

idint,

namevarchar(32),

indexin_id(id),

keyin_name(name));

上面中的index和key关键字创建索引的效果是一样的。

可以使用showcreatetabletest1来查看建表语句。

删除索引方法一:dropindexin_idontest1;

删除索引方法二:altertabletest1dropindexin_name;

在已经建立的表中添加索引,这里就称为修改索引。

方法一:createindexin_idontest1(id);

方法二:altertabletest1addindexin_name(name);

2.唯一索引的创建、删除、修改。

createtabletest2(

idintauto_incrementkey,

namevarchar(32)notnullunique,

telvarchar(64)notnull,

uniquekeyuniq_tel(tel));

上面中的id字段是主键(也是一种唯一索引),name是唯一索引,tel也是唯一索引。

可以使用showcreatetabletest2来查看建表语句。

删除索引:dropindexuniq_telontest2;

修改索引:altertabletest2adduniquekeyuniq_tel(tel);

3.全文索引的创建、删除、修改。

createtabletest3(

idintauto_incrementkey,

namevarchar(32)notnullunique,

name_descvarchar()notnull,

fulltextfull_name_desc(name_desc));

上面中的name_desc就是全文索引。

删除索引:dropindexfull_name_descontest3;

修改索引:altertabletest3addfulltextfull_name_desc(name_desc);

4.多列索引的创建、删除、修改。

createtabletest4(

idintauto_incrementkey,

name1varchar(32)notnull,

name2varchar(32)notnull,

name3varchar(32)notnull,

name4varchar(32)notnull,

indexmul_n1_n2_n3(name1,name2,name3));

上面中的mul_n1_n2_n3就是name1、name2、name3的复合索引名。

删除索引:dropindexmul_n1_n2_n3ontest4;

修改索引:altertabletest4addindexmul_n1_n2_n3(name1,name2,name3);

5.唯一多列索引。

createtabletest5(

idintauto_incrementkey,

name1varchar(32)notnull,

name2varchar(32)notnull,

name3varchar(32)notnull,

name4varchar(32)notnull,

uniquekeymul_n1_n2_n3(name1,name2,name3));

6.空间索引。

createtabletest5(

idintauto_incrementkey,

namegeometrynotnull,

spatialkeyspa_name(name))engine=MyISAM;

预览时标签不可点收录于合集#个上一篇下一篇

转载请注明:http://www.aierlanlan.com/rzdk/297.html