索引分类
- 普通索引 INDEX 或 KEY
- 唯一性索引 UNIQUE(候选码)
- 主键 PRIMARY KEY
索引的创建
1. 使用create语句创建
例子:CREATE [UNIQUE] INDEX index_name // 有unique就是唯一性索引,没有就是普通索引ON table_name (index_col_name,......) // 关于索引的描述,索引有哪几列组成col_name [length](ASC|DESC)
create index index_customerson mysql_test.customers(cust_name(3) ASC)
2.使用alter table语句创建
(1)在修改表的同时为该表添加索引
ALTER TABLE mysql_test.sellerADD {INDEX|KEY} [index_name](index_col_name,......)
(2)在创建新表时为该表添加主键
ALTER TABLE mysql_test.sellerADD [CONSTRAINT[SYMBOL]] PRIMARY KEY(index_col_name,......)
(3)在修改表的同时为该表添加唯一性索引
ALTER TABLE mysql_test.sellerADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name](index_col_name,......)
(4)在创建新表的同时为该表添加外键
例子:ALTER TABLE mysql_test.sellerADD [CONSTRAINT [symbol]] FOREIGN KEY(index_col_name,......)
alter table mysql_test.selleradd index index_seller_name(seller_name);
- index_seller_name 是索引名
-
索引的查看
SHOW {INDEX|INDEXES|KEY}{FROM|IN} table_name[{FROM|IN} db_name][WHERE expr]
索引的删除
第一种方法
DROP INDEX index_name ON tbl_name;
第二种方法
ALTER TABLEDROP PRIMARY KEY,DROP INDEX,DROP FOREIGN KEY;
DROP PRIMARY KEY 子句用于删除表中主键
- DROP INDEX 子句用于删除各种类型的索引
- DROP FOREIGN KEY 子句用于删除外键
例子:
alter table mysql_test.customersdrop primary key,drop index index_customers;
