当前位置:Gxlcms > 数据库问题 > MySQL索引创建、删除、查看

MySQL索引创建、删除、查看

时间:2021-07-01 10:21:17 帮助过:10人阅读

主键索引

??PRIMARY KEY索引仅是一个具有名称PRIMARY的UNIQUE索引。这表示一个表只能包含一个PRIMARY KEY,因为一个表中不可能具有两个同名的索引。

  • ALTER TABLE ‘tablename‘ ADD PRIMARY KEY("column");

普通索引

  • 直接创建索引:
    CREATE INDEX ‘indexname‘ ON ‘tablename‘(‘column‘(‘account‘));
  • 修改表结构的方式创建索引:
    ALTER TABLE ‘tablename‘ ADD INDEX ‘indexname‘(‘column‘(‘account‘));
  • 创建表的时候创建索引:
    CREATE TABLE ‘tablename‘(
    INDEX ‘indexname‘(‘column‘(‘account‘))
    );

唯一索引

??唯一索引的列必须是唯一的,但是允许有null值。如果是组合索引,则列值的组合必须唯一。

  • 创建唯一索引
    CREATE UNIQUE INDEX ‘indexname‘ ON ‘tablename‘(‘column‘(‘account‘));
  • 改变表结构
    ALTER TABLE ‘tablename‘ ADD UNIQUE ‘indexname‘(‘column‘(‘account‘));
  • 创建表的时候创建唯一索引:
    CREATE TABLE ‘tablename‘(
    UNIQUE ‘indexname‘(‘column‘(‘account‘))
    );

全文索引

??对text等文本字段建立索引。

  • 创建全文索引
    CREATE FULLTEXT INDEX ‘indexname‘ ON ‘tablename‘(‘column‘);
  • 改变表结构
    ALTER TABLE person ADD FULLTEXT ‘indexname‘(‘column‘);
  • 创建表的时候创建全文索引
    CREATE TABLE ‘tablename‘(
    FULLTEXT ‘indexname‘(‘column‘)
    );

组合索引

??组合索引是最左前缀。

  • 创建组合索引
    ALTER TABLE person ADD INDEX idx_lastname_firstname(lastname(10),firstname(10));
    这样子相当于创建了两组组合索引:
    • -lastname
    • -lastname,fistname

查看索引

  • SHOW INDEX FROM ‘tablename‘;

删除索引

    • 删除索引:
      DROP INDEX ‘indexname‘ ON ‘tablename‘;
    • 改变表结构:
      ALTER TABLE ‘tablename‘ DROP INDEX ‘indexname‘;
    • 删除PRIMARY KEY索引
      ALTER TABLE ‘tablename‘ DROP PRIMARY KEY;

MySQL索引创建、删除、查看

标签:mysql   建表   唯一索引   drop   组合   创建索引   column   允许   alt   

人气教程排行