**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索引
- 副本集
- 聚焦分析
- 事務管理
- 寫關注
- 讀關注