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

微信公眾號新浪微博
免費咨詢電話:400-0909-964
當前位置: 網站首頁 > MySQL培訓 > MySQL課程 > MySQL認證教程:Alter Table怎么創建與刪除索引

MySQL認證教程:Alter Table怎么創建與刪除索引

文章來源: 更新時間:2016/7/19 17:01:00

在線老師點擊咨詢:

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

我要咨詢

MySQL認證教程:Alter Table怎么創建與刪除索引?為了給現有的表增加一個索引,可使用 ALTER TABLE 或 CREATE INDEX 語句。ALTER TABLE 最常用,因為可用它來創建普通索引、UNIQUE 索引或 PRIMARY KEY 索引,如:

ALTER TABLE tbl_name ADD INDEX index_name (column_list)

ALTER TABLE tbl_name ADD UNIQUE index_name (column_list)

ALTER TABLE tbl_name ADD PRIMARY KEY index_name (column_list)

其中 tbl_name 是要增加索引的表名,而 column_list 指出對哪些列進行索引。一個(col1,col2,...)形式的列表創造一個多列索引。索引值有給定列的值串聯而成。如果索引由不止一列組成,各列名之間用逗號分隔。索引名 index_name 是可選的,因此可以不寫它,MySQL 將根據第一個索引列賦給它一個名稱。ALTER TABLE 允許在單個語句中指定多個表的更改,因此可以在同時創建多個索引。

同樣,也可以用ALTER TABLE語句產出列的索引:

ALTER TABLE tbl_name DROP INDEX index_name

ALTER TABLE tbl_name DROP PRIMARY KEY

注意上面第一條語句可以用來刪除各種類型的索引,而第三條語句只在刪除 PRIMARY KEY 索引時使用;在此情形中,不需要索引名,因為一個表只可能具有一個這樣的索引。如果沒有明確地創建作為 PRIMARY KEY 的索引,但該表具有一個或多個 UNIQUE 索引,則 MySQL 將刪除這些 UNIQUE 索引中的第一個。

如果從表中刪除了列,則索引可能會受到影響。如果所刪除的列為索引的組成部分,則該列也會從索引中刪除。如果組成索引的所有列都被刪除,則整個索引將被刪除。

例如,對于上面所使用的student為例,你可能想為之創建這樣的索引,以加速表的檢索速度:

MySQL> ALTER TABLE student

-> ADD PRIMARY KEY(id),

-> ADD INDEX mark(english,Chinese,history);

這個例子,既包括PRIMARY索引,也包括多列索引。記住,使用PRIMARY索引的列,必須是一個具有NOT NULL屬性的列,如果你愿意產看創建的索引的情況,可以使用SHOW INDEX語句:

MySQL> SHOW INDEX FROM student;

其結果為:

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

| Table | Non_unique | Key_name | Seq_in_index | Column_name |

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

| student | 0 | PRIMARY | 1 | id |

| student | 1 | mark | 1 | english |

| student | 1 | mark | 2 | chinese |

| student | 1 | mark | 3 | history |

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

由于列數太多,上表并沒有包括所有的輸出,讀者可以試著自己查看。

再使用ALTER TABLE語句刪除索引,刪除索引需要知道索引的名字,你可以通過SHOW INDEX語句得到:

MySQL> ALTER TABLE student DROP PRIMARY KEY,

-> DROP INDEX mark;

再產看表中的索引,其語句和輸出為:

MySQL> SHOW INDEX FROM student;

Empty set (0.01 sec)

本文地址:http://www.erickasouza.com/mysql/kecheng/12516848727.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