索引分类

  1. 普通索引 INDEX 或 KEY
  2. 唯一性索引 UNIQUE(候选码)
  3. 主键 PRIMARY KEY

    索引的创建

    1. 使用create语句创建

    1. CREATE [UNIQUE] INDEX index_name // 有unique就是唯一性索引,没有就是普通索引
    2. ON table_name (index_col_name,......) // 关于索引的描述,索引有哪几列组成
    3. col_name [length](ASC|DESC)
    例子:
    1. create index index_customers
    2. on mysql_test.customers(cust_name(3) ASC)

    2.使用alter table语句创建

    (1)在修改表的同时为该表添加索引

    1. ALTER TABLE mysql_test.seller
    2. ADD {INDEX|KEY} [index_name](index_col_name,......)

    (2)在创建新表时为该表添加主键

    1. ALTER TABLE mysql_test.seller
    2. ADD [CONSTRAINT[SYMBOL]] PRIMARY KEY(index_col_name,......)

    (3)在修改表的同时为该表添加唯一性索引

    1. ALTER TABLE mysql_test.seller
    2. ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name](index_col_name,......)

    (4)在创建新表的同时为该表添加外键

    1. ALTER TABLE mysql_test.seller
    2. ADD [CONSTRAINT [symbol]] FOREIGN KEY(index_col_name,......)
    例子:
    1. alter table mysql_test.seller
    2. add index index_seller_name(seller_name);
  • index_seller_name 是索引名
  • seller_name 是指定的列名

    索引的查看

    1. SHOW {INDEX|INDEXES|KEY}
    2. {FROM|IN} table_name
    3. [{FROM|IN} db_name]
    4. [WHERE expr]

    索引的删除

    第一种方法

    1. DROP INDEX index_name ON tbl_name;

    第二种方法

    1. ALTER TABLE
    2. DROP PRIMARY KEY,
    3. DROP INDEX,
    4. DROP FOREIGN KEY;
  • DROP PRIMARY KEY 子句用于删除表中主键

  • DROP INDEX 子句用于删除各种类型的索引
  • DROP FOREIGN KEY 子句用于删除外键

例子:

  1. alter table mysql_test.customers
  2. drop primary key,
  3. drop index index_customers;