MySQL建立索引

2021-07-14 15:52:50 字數 1855 閱讀 1246

在mysql中,在已經存在的表上,可以通過alter table語句直接為表上的乙個或幾個字段建立索引。基本語法格式如下:

alter table 表名 add [unique | fulltext | spatial] index

索引名(欄位名 [(長度)] [asc | desc]);

例項:在index7表中的name欄位上建立名為index7_name的索引。操作步驟如下:

1. 使用show create table語句檢視index7表的結構。如下圖所示:

從上圖中可以看出,在index7表上只有index7_id索引。

2. 使用alter table語句建立index7_name索引。sql**如下:

alter table index7 add index index7_name(name(20))
在dos提示符視窗中檢視mysql建立普通索引的操作效果。如下圖所示:

從上圖中可以看出,**執行的結果顯示建立成功。

3. 使用show create table語句重新檢視index7表的結構。如下圖所示:

從上圖中可以看出,name欄位已經建立了乙個名為index7_name的索引。

例項:在index13表中的course_id欄位上,建立名為index13_id的唯一性索引。sql**如下:

alter table index13 add unique index index13_id(course_id);
index13_id為索引的名稱;unique用於設定索引為唯一性索引;表index13中的course_id欄位可以有唯一性約束,也可以沒有唯一性約束。

在dos提示符視窗中檢視mysql建立唯一性索引的操作效果。如下圖所示:

例項:在index14表中的info欄位上建立名為index14_info的全文索引。sql**如下:

alter table index14 add fulltext index index14_info(info);
其中,fulltext用於設定索引為全文索引;表index14的儲存引擎可以是myisam或innodb型別;info欄位必須為char、varchar或text等型別。

在dos提示符視窗中檢視mysql建立全文索引的操作效果。如下圖所示:

例項:在index15表中的address欄位上建立名為index15_addr的單列索引。address欄位的資料型別為varchar(20),索引的資料型別為char(4)。sql**如下:

alter table index15 add index index15_addr(address(4));
這樣,查詢時可以只查詢address欄位的前4個字元,而不需要全部查詢。

在dos提示符視窗中檢視mysql建立單列索引的操作效果。如下圖所示:

例項:在index16表中的name和address欄位上建立名為index16_na的多列索引。sql**如下:

alter table index16 add index index16_na(name,address);
該索引建立好以後,查詢條件中必須有name欄位才能使用索引。

在dos提示符視窗中檢視mysql建立多列索引的操作效果。如下圖所示:

例項:在index17表中的line欄位上建立名為index17_line的空間索引。sql**如下:

alter table index17 add spatial index index17_line(line);
其中,spatial用於設定索引為空間索引;表index17的儲存引擎必須是myisam型別;line欄位必須是非空的,而且必須是空間資料型別。

在dos提示符視窗中檢視mysql建立空間索引的操作效果。如下圖所示:

(索引)建立MySQL索引

建立索引的必要性 主鍵預設是建立索引的,而且具有唯一性 合適地建立索引後比不建立索引,提高了查詢速度 建立索引的語法 簡單索引 可以有重複資料 create index indexname on tablename column name 1舉例子說明如 建立乙個資料表,設定一些初始的資料,然後採用...

c mysql建立索引 MySQL 建立索引

1 索引建立原則 1 搜尋的索引列,不一定是所要選擇的列。換句話說,最適合索引的列是出現在where子句中的列,或連線子句中指定的列,而不是出現在select關鍵字後的選擇列表中的列。2 使用唯一索引。考慮某列中值的分布。索引的列的基數越大,索引的效果越好。3 使用短索引。如果對字串列進行索引,應該...

mysql索引新增 mysql 建立索引

mysql 索引 內容主要摘抄自 mysql5.7從入門到精通 索引是對資料庫表中的一列或多列進行排序的一種資料結構,使用索引可以提高資料庫中特定資料的查詢速度。一 索引含義和特點 索引是乙個單獨的 儲存在磁碟上的資料庫結構,它們包含著對資料表裡所有記錄的引用指標。mysql 中索引儲存型別有兩種 ...