Mysql的索引怎么创建有几种
时间: 2023-12-26 09:04:56 浏览: 90
MySql索引详细介绍及正确使用方法
在MySQL中,一共有3种主要的索引类型:B-Tree索引、哈希索引和全文索引。其中,B-Tree索引是最常用的,也是MySQL默认的索引类型。创建B-Tree索引有以下两种方式:
1. 在创建表时添加索引
在创建表时,可以通过在列定义后面添加`INDEX`或`KEY`关键字,来为该列创建索引。语法如下:
```
CREATE TABLE table_name (
column1 datatype [NULL|NOT NULL] [DEFAULT default_value] [INDEX],
column2 datatype [NULL|NOT NULL] [DEFAULT default_value] [INDEX],
...
[PRIMARY KEY (one or more columns)],
[UNIQUE KEY (one or more columns)],
[FULLTEXT KEY (one or more columns)],
...
);
```
其中,`INDEX`关键字表示创建B-Tree索引,`PRIMARY KEY`和`UNIQUE KEY`关键字表示创建唯一索引,`FULLTEXT KEY`关键字表示创建全文索引。
2. 使用`ALTER TABLE`语句添加索引
在已有的表中,可以使用`ALTER TABLE`语句来添加索引。语法如下:
```
ALTER TABLE table_name ADD [UNIQUE|FULLTEXT] INDEX index_name (column1, column2, ...);
```
其中,`UNIQUE`关键字表示创建唯一索引,`FULLTEXT`关键字表示创建全文索引。`index_name`为索引名称,`column1, column2, ...`表示要创建索引的列名。
除了B-Tree索引外,MySQL还支持哈希索引和全文索引。创建哈希索引和全文索引的方式如下:
1. 创建哈希索引
在创建表时,可以通过在列定义后面添加`HASH`关键字,来为该列创建哈希索引。语法如下:
```
CREATE TABLE table_name (
column1 datatype [NULL|NOT NULL] [DEFAULT default_value] [HASH],
column2 datatype [NULL|NOT NULL] [DEFAULT default_value] [HASH],
...
);
```
其中,`HASH`关键字表示创建哈希索引。
2. 创建全文索引
在创建表时,可以通过在列定义后面添加`FULLTEXT`关键字,来为该列创建全文索引。语法如下:
```
CREATE TABLE table_name (
column1 datatype [NULL|NOT NULL] [DEFAULT default_value] [FULLTEXT],
column2 datatype [NULL|NOT NULL] [DEFAULT default_value] [FULLTEXT],
...
);
```
其中,`FULLTEXT`关键字表示创建全文索引。
阅读全文