- 当定义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 ; -- 删除主键索引
