專業只做數據庫實訓和認證的品牌機構

微信公眾號新浪微博
免費咨詢電話:400-0909-964
當前位置: 網站首頁 > MySQL培訓 > MySQL課程 > MySQL考試教程:在創建表時指定索引

MySQL考試教程:在創建表時指定索引

文章來源: 更新時間:2016/7/19 17:09:02

在線老師點擊咨詢:

最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯系在線老師,甲骨文官方認證,報名從速!

我要咨詢

MySQL考試教程:在創建表時指定索引,要想在發布 CREATE TABLE 語句時為新表創建索引,所使用的語法類似于 ALTER TABLE 語句的語法,但是應該在您定義表列的語句部分指定索引創建子句,如下所示:

CREATE TABLE tbl_name

(

INDEX index_name (column_list),

KEY index_name (column_list),

UNIQUE index_name (column_list),

PRIMARY KEY index_name (column_list),

)

與ALTER TABLE 一樣,索引名對于 INDEX 和 UNIQUE 都是可選的,如果未給出,MySQL 將為其選一個。另外,這里KEY時INDEX的一個別名,具有相同的意義。

有一種特殊情形:可在列定義之后增加 PRIMARY KEY 創建一個單列的PRIMARY KEY 索引,如下所示:

CREATE TABLE tbl_name

(

i INT NOT NULL PRIMARY KEY

)

該語句等價于以下的語句:

CREATE TABLE tbl_name

(

i INT NOT NULL,

PRIMARY KEY (i)

)

前面所有表創建樣例都對索引列指定了 NOT NULL。如果是 ISAM 表,這是必須的,因為不能對可能包含 NULL 值的列進行索引。如果是 MyISAM 表,索引列可以為 NULL,只要該索引不是 PRIMARY KEY 索引即可。

在CREATE TBALE語句中可以某個串列的前綴進行索引(列值的最左邊 n 個字符)。

如果對某個串列的前綴進行索引,應用 column_list 說明符表示該列的語法為 col_name(n) 而不用col_name。例如,下面第一條語句創建了一個具有兩個 CHAR 列的表和一個由這兩列組成的索引。第二條語句類似,但只對每個列的前綴進行索引:

CREATE TABLE tbl_name

(

name CHAR(30),

address CHAR(60),

INDEX (name,address)

)

CREATE TABLE tbl_name

(

name CHAR(30),

address CHAR(60),

INDEX (name(10),address(20))

)

你可以檢查所創建表的索引:

MySQL> show index from tbl_name;

+----------+------------+----------+--------------+-------------+-

| Table | Non_unique | Key_name | Seq_in_index | Column_name |

+----------+------------+----------+--------------+-------------+-

| tbl_name | 1 | name | 1 | name |

| tbl_name | 1 | name | 2 | address |

+----------+------------+----------+--------------+-------------+-

在某些情況下,可能會發現必須對列的前綴進行索引。例如,索引行的長度有一個最大上限,因此,如果索引列的長度超過了這個上限,那么就可能需要利用前綴進行索引。在 MyISAM 表索引中,對 BLOB 或 TEXT 列也需要前綴索引。

對一個列的前綴進行索引限制了以后對該列的更改;不能在不刪除該索引并使用較短前綴的情況下,將該列縮短為一個長度小于索引所用前綴的長度的列。

本文地址:http://www.erickasouza.com/mysql/kecheng/12516897178.html 轉載請注明!


在線預約 搶先報名 獲取課程排期

Oracle培訓機構

金牌講師<>

冉乃綱-老師CUUG金牌講師
冉老師 CUUG金牌講師 Oracle及RedHat高級講師、Unix/Linux 資深專家...[詳細了解老師]

免費咨詢上課流程 客服在線中

陳衛星-老師CUUG金牌講師
陳老師 CUUG金牌講師 精通Oracle管理、備份恢復、性能優化 11年Ora...[詳細了解老師]

免費咨詢上課流程 客服在線中

選學校如何選擇適合自己的學校

CUUG -CHINA UNIX USER GROUP,是國際UNIX組織UNIFORUM的中國代表,是國內悠久的專業UNIX培訓機構,被譽為中國UNIX 的搖籃。多年來,以提高教學質量為本,強調素質教育,積極引進、消化國外的新技術,有效的結合中國....[詳情]

一站式服務(從入學到就業一幫到底)

入學

學習

就業

實操

食宿
關閉
海淀校區:北京市海淀區紫竹園路88號紫竹花園D座703(CUUG)
課程咨詢:010-59426307 010-59426319 400-0909-964
企業服務:139 1050 4818(劉經理)
部分信息來源于網絡,如有錯誤請聯系指正!
微信:聞老師
微信:于老師
版權所有@北京神腦資訊技術有限公司 (CUUG,中國UNIX用戶協會) Copyright 2016 ALL Rights Reserved 京ICP備11008061號-1