首页 > 代码库 > MySQL索引创建、删除、查看

MySQL索引创建、删除、查看

主键索引

??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索引创建、删除、查看