数据库索引简述
1.数据库表索引是干什么用的
数据库表索引其实就是为了使查询数据效率快
2.数据库表索引分类
1)聚集索引(主键索引):在数据库里面,所有行数都会按照主键索引进行排序。
2)非聚集索引:就是给普通字段加上索引。
3)联合索引:就是好几个字段组成的索引,称为联合索引。
3.索引建立
1.)创建普通索引
create index indexName on tableName(name Asc)
注:indexName:索引名;tableName:表名;name:列名; Asc:排序方式
建表时直接指定
create table myTable{
id int not null,
user varchar(11) not null,
index indexName name(11)
};
删除索引: drop index indexName on tableName 注:indexName索引名,tableName表名
2.) 创建唯一索引
create unique index indexName on tableName(name Asc)
注:indexName:索引名;tableName:表名;name:列名; Asc:排序方式
建表时直接指定
create table myTable{
id int not null,
user varchar(11) not null,
index unique indexName name(11)
};
4.修改表结构
1.添加一个主键
alter table tableName add primary key (columnName)
注:tableName表名 columnName要添加的主键列名
该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL
2.添加唯一索引
alter table tableName add unique indexName(columnName);
注:tableName表名; indexName 唯一索引名 columnName要添加的唯一索引的列名
该语句创建索引的值必须是唯一的(除了NULL外,NULL可能会出现多次)
3.添加普通索引
alter table tableName add index indexName(columnName);
注:tableName表名; indexName 普通索引名 columnName要添加的普通索引的列名
该语句添加普通索引,索引值可出现多次。
4. 添加 全文索引(FULLTEXT)
alter table tableName add fulltext indexName(columnName)
注:tableName表名; indexName 普通索引名 columnName要添加的全文索引的列名
5.删除索引
alter table tableName drop index(indexName)
注:tableName表名; indexName要删除的索引名