1、使用 ALTER TABLE 语句创建索引
#在book表中的bookname字段上建立名为BkNameIdx的普通索引
MariaDB [vincen]> ALTER TABLE book add index BkNameIdx(bookname(30));
#格式:ALTER TABLE 数据表名 add 索引类型 索引名称(字段);
查看表中的索引信息
MariaDB [vincen]> show index from book \G
*************************** 1. row ***************************
Table: book #表示创建索引的表,book表
Non_unique: 1 #索引是否唯一,1代表非唯一,0代表唯一
Key_name: BkNameIdx #索引的名称是BkNameIdx
Seq_in_index: 1 #表示这个字段在索引中的位置
Column_name: bookname #表示定义索引的列字段
Collation: A
Cardinality: 0
Sub_part: 30 #表示索引的长度
Packed: NULL
Null: #表示该字段是否能为空值
Index_type: BTREE #表示索引的类型
Comment:
Index_comment:
2、使用 CREATE INDEX 创建索引
创建一张新表
MariaDB [vincen]> CREATE TABLE books
-> (
-> bookid INT NOT NULL,
-> bookname VARCHAR(255) NOT NULL,
-> authors VARCHAR(255) NOT NULL,
-> info VARCHAR(255) NULL,
-> comment VARCHAR(255) NULL,
-> year_publication YEAR NOT NULL
-> );
使用 CREATE INDEX 创建索引
#在books表中的bookname字段上建立名为BkNameIdx的普通索引
MariaDB [vincen]> CREATE INDEX BkNameIdx ON books(bookname);
#格式:CREATE 索引类型 索引名称 ON 数据表名(字段);
查看索引信息
MariaDB [vincen]> show index from books \G
*************************** 1. row ***************************
Table: books
Non_unique: 1
Key_name: BkNameIdx
Seq_in_index: 1
Column_name: bookname
Collation: A
Cardinality: 0
Sub_part: NULL
Packed: NULL
Null:
Index_type: BTREE
Comment:
Index_comment:
可以看到 CREATE INDEX 语句和 ALTER INDEX 语句的语法基本一样,只是关键字不同