為已經存在的表上建立索引
阿新 • • 發佈:2018-12-13
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 語句的語法基本一樣,只是關鍵字不同