什么是索引
索引的作用相当于图书的目录,可以根据目录中的标记找到所需内容。
数据库索引就是数据库的一种数据结构,索引是对数据库表中一列或者多列的值进行排序的一种结构
索引的类型
- 普通索引 : 任何字段都可以创建
- 唯一索引 : 必须是具有唯一性的字段才能创建
- 主键索引 : 必须是主键且具有唯一性的字段才能创建
- 全文索引 : 只针对文本类型
- 复合索引 : 多个字段联合创建
普通索引
创建索引
CREATE INDEX indexName ON mytable(username(length));
修改表结构(添加索引)
ALTER table tableName ADD INDEX indexName(columnName)
创建表的时候直接指定
CREATE TABLE mytable(
ID INT NOT NULL,
username VARCHAR(16) NOT NULL,
INDEX [indexName] (username(length))
);
删除索引的语法
DROP INDEX [indexName] ON mytable;
唯一索引
创建索引
CREATE UNIQUE INDEX indexName ON mytable(username(length))
修改表结构
ALTER table mytable ADD UNIQUE [indexName] (username(length))
创建表的时候直接指定
CREATE TABLE mytable(
ID INT NOT NULL,
username VARCHAR(16) NOT NULL,
UNIQUE [indexName] (username(length))
);
使用ALTER 命令添加和删除索引
有四种方式来添加数据表的索引:
ALTER TABLE tbl_name ADD PRIMARY KEY (column_list);
ALTER TABLE tbl_name ADD UNIQUE index_name (column_list);
ALTER TABLE tbl_name ADD INDEX index_name (column_list);
ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list);