索引

索引

1、普通索引:INDEX (字段名) 2、唯一性索引:UNIQUE INDEX unique_字段名 (字段名 (升序/降序)) ASC(升序) DESC(降序)

3、全文索引: FULLTEXT INDEX fulltext_字段名(字段名) 4、单列索引:INDEX single_字段名(字段名) 5、多列索引:INDEX multi(字段名1, 字段名n) 6、空间索引:SPATIAL INDEX sp(字段名)

创建空间索引时,所在字段的值不能为空值,并且表的存储引擎为MyISAM。 7、查看索引是否被使用:EXPLAIN SELECT * FROM 字段名WHERE 条件\G 8.查看所创的索引:SHOW INDEX FROM 表名;或 SHOW KEYS FROM 表名;

一、创建表的时候创建索引 格式:

例:

 

  1. 创建普通索引

    例:

  2. 创建唯一性索引

  3. 创建全文索引

  4. 单列索引

    例:

  5. 创建多列索引

    例:

  6. 创建空间索引

    例:

    空间索引要的字段的数据类型要是GEOMETRY 并且要是非空约束NOT NULL

    二、使用CREATE INDEX 语句在已经存在的表上创建索引

    1. 创建普通索引

      例:

    2. 创建唯一索引

      例:

    3. 创建单列索引

      例:

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. 创建多列索引

    例:

  2. 创建全文索引

    例:(之前的person已经被创建过索引,再重新创建一个跟person一样参数的d3表)

  3. 创建空间索引

    例:

    (出现问题,暂时没有找到解决方法)

    三、使用ALTER TABLE语句在已经存在表上创建索引

    格式:

    1. 创建普通索引

      例:

    2. 创建唯一性索引

      例:

    3. 创建单列索引

      ALTER TABLE book ADD INDEX singleidx(name(20));

    4. 创建多列索引在表中的score和sex字段上建立一个名称为multidx的多列索引,基本格式:ALTER TABLE book ADD INDEX multidx(score(4),sex(4));执行结果如下:

       5.创建全文索引删除表book,重新创建表book,在表中的name字段上创建全文索引,格式ALTER TABLE book ADD FULLTEXT INDEX fulltextidx(name);执行结果如下:

      6.创建空间索引创建表t8,在表中space字段上创建名称为spatidx的空间索引,基本格式ALTER TABLE t8ADD SPATIAL INDEX spatidx(space);执行结果如下: 

       
      删除索引删除索引的方式有两种

      具体如下:

      1.使用ALTER TABLE 删除索引基本格式:ALTER TABLE 表名 DROP INDEX 字段名删除表book中名称为fulltextidx的全文索引,执行结果如下:

       2.使用DROP INDEX 删除索引基本格式:DROP INDEX 索引名 ON 表名;执行结果如下:

posted @ 2019-12-16 16:30  虚有其表  阅读(287)  评论(0)    收藏  举报