**1. 索引分类**
* 单列索引:即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。
* 组合索引:即一个索引包含多个列。
>[info]提醒:主键本身就是一个索引、unique的列本身也是一个索引。
**2. 创建索引方式**
>[warning]索引名称`indexName`自定义,但要保证在一张表中唯一
(1)创建方式1:`create`语句创建。
```sql
# 单列索引
mysql> create index indexName on tableName(column_name);
# 组合索引
mysql> create index indexName on tableName(column_list);
# 唯一索引
mysql> create unique index indexName on tableName(column_list);
# 主键索引
mysql> ceate primary key index indexName on tableName(column_list)
```
(2)创建方式2:建表时就添加索引。
```sql
mysql> create table tableName(
id varchar(255) primary key not null, # 主键本身就是一个单列索引
card varchar(255) unique not null, # unique 声明的列本身就是一个单列索引
name varchar(255),
age int,
index indexName(name, age) # 创建索引
)
```
(3)通过`alter`命令添加索引。
```sql
mysql> alter table tableName add primary key indexName(column_list);
mysql> alter table tableName add unique indexName(column_list);
mysql> alter table tableName add index indexNamei(column_list);
#全文索引
mysql> alter table tableName add fulltext indexName(column_list);
```
**3. 删除索引**
```sql
(1)方式1
mysql> drop index indexName on tableName;
(2)方式2
mysql> alter table tableName drop index indexName;
```
**4. 查看一张表的所有索引**
```sql
mysql> show index from student;
+---------+------------+-----------+--------------+-------------+-----------+-------------+...
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | S...
+---------+------------+-----------+--------------+-------------+-----------+-------------+...
| student | 0 | PRIMARY | 1 | id | A | 0 | NULL | NULL | | ...
| student | 0 | indexName | 1 | name | A | 1 | NULL | NULL | Y...
| student | 0 | indexName | 2 | sex | A | 1 | NULL | NULL | YES...
+---------+------------+-----------+--------------+-------------+-----------+-------------+...
```
****
参考文档:https://www.runoob.com/mysql/mysql-index.html
- MySQL
- MySQL是什么
- MySQL环境搭建
- centos7-MySQL8
- windows-MySQL8
- 数据库软件
- sqlyog软件安装
- navicat软件安装
- powerDesigner软件安装
- RDBMS术语
- SQL语句组成
- 数据库系统组成
- 数据库操作
- 数据表操作
- 查询语句
- 基本语法
- 子查询
- 表连接
- 查询语句执行顺序
- 事务
- 事务是什么
- 事务的作用
- 事务的4个特性
- 事务隔离级别
- 事务的实现
- 索引
- 索引的作用
- 索引操作
- 存储引擎
- 备份与恢复
- 视图
- 视图是什么
- 视图的作用
- 创建视图
- 查看视图
- 更改视图
- DML操作视图
- 删除视图
- 存储过程与函数
- 过程与函数是什么
- 存储过程操作
- 定义存储过程
- 调用存储过程
- 查看存储过程
- 删除存储过程
- 修改存储过程
- 函数操作
- 过程与函数区别
- 流程控制
- if语句
- case语句
- while循环语句
- repeat循环语句
- loop循环语句
- 变量
- 处理程序
- 光标
- Redis
- 简介
- 下载与安装
- 命令操作redis数据库
- 通用命令
- 数据操作
- 持久化
- Windows上的持久化操作
- 数据库设计
- 数据库设计过程
- ER模型图
- MongoDB
- MongoDB是什么?
- MongoDB特性
- MongoDB 数据模型
- 安装MongoDB
- MongoDB认证
- Database操作
- Collection操作
- Document操作
- 插入
- 查询
- 更新
- 删除
- buckWrite
- MongoDB索引
- 副本集
- 聚焦分析
- 事务管理
- 写关注
- 读关注