- 当定义Table后,如果定义了主键,则系统将自动创建主索引,利用主索引对Table进行快速定位、检索与更新操作。
- 索引可以由用户创建,也可以由用户撤消。
- 当索引被创建后,无论是主索引,还是用户创建的索引,DBMS都将自动维护所有的索引,使其与Table保持一致,即:当一条记录被插入到Table中后,所有索引也自动的被更新。
- 当Table被删除后,定义在该表上的所有索引将自动被撤销。
创建索引的语法:创建索引有两种方式,一种是在建表时创建,另一种是建表后创建。
建表时创建索引:主键索引在建表时会自动创建
CREATE table mytable(
id INT NOT NULL,
username VARCHAR(16) NOT NULL,
INDEX [`索引名`] (`字段名`)
);
建表后创建索引:
-- 在表A中创建一个普通索引
create index `索引名` on `表A`(`字段名`);
或者
ALTER TABLE `表A` ADD INDEX `索引名`(字段名);
-- 在表A中创建一个唯一性索引
create unique index `索引名` on `表A`(`字段名`);
或者
ALTER TABLE `表A` ADD UNIQUE `索引名`(字段名);
-- 在表A中创建一个组合索引
CREATE INDEX `索引名` ON `表A`(字段1,字段2,字段3);
或者
ALTER TABLE `表A` ADD INDEX `索引名`(字段1,字段2,字段3);
删除索引的语法:
-- 使用drop删除索引
drop index `索引名` on `表名`;
-- 使用alter删除索引
alter table `表名` drop index `索引名` ;
alter table `表名` drop primary key ; -- 删除主键索引