最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL中對于索引的基本增刪查改操作總結(jié)

 更新時間:2016年01月18日 15:00:41   投稿:goldensun  
這篇文章主要介紹了MySQL中對于索引的基本增刪查改操作總結(jié),索引可以提高M(jìn)ySQL的檢索速度,需要的朋友可以參考下

創(chuàng)建索引

MySQL創(chuàng)建索引的語法如下:

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
  [USING index_type]
  ON table_name (index_col_name,...)

其中對應(yīng)的語法變量信息如下:

[UNIQUE|FULLTEXT|SPATIAL]
中括號中的這三個關(guān)鍵字表示創(chuàng)建的索引類型,它們分別表示唯一索引、全文索引、空間索引三種不同的索引類型。如果我們不指定任何關(guān)鍵字,則默認(rèn)為普通索引。
index_name
index_name表示索引的名稱,由用戶自行定義,以便于以后對該索引進(jìn)行修改等管理操作。
index_type
index_type表示索引的具體實(shí)現(xiàn)方式,在MySQL中,有兩種不同形式的索引——BTREE索引和HASH索引。在存儲引擎為MyISAM和InnoDB的表中只能使用BTREE,其默認(rèn)值就是BTREE;在存儲引擎為MEMORY或者HEAP的表中可以使用HASH和BTREE兩種類型的索引,其默認(rèn)值為HASH。
index_col_name
index_col_name表示需要創(chuàng)建索引的字段名稱,我們還可以針對多個字段創(chuàng)建復(fù)合索引,只需要在多個字段名稱之間以英文逗號隔開即可。
此外,對于CHAR或VARCHAR類型的字段,我們還可以只使用字段內(nèi)容前面的一部分來創(chuàng)建索引,只需要在對應(yīng)的字段名稱后面加上形如(length)的指令即可,表示只需要使用字段內(nèi)容前面的length個字符來創(chuàng)建索引。在這里,我們以User表的username字段(類型為VARCHAR(50))為例,使用username字段的6個字符前綴來創(chuàng)建索引。

CREATE INDEX idx_user_username ON user (username(6));

由于多數(shù)字段的前6個字符通常不同,所以此索引不會比使用字段的全部內(nèi)容創(chuàng)建的索引速度慢很多。另外,使用字段的一部分創(chuàng)建索引可以使索引文件大大減小,從而節(jié)省了大量的磁盤空間,有可能提高INSERT操作的速度。

在MySQL中,前綴長度最大值為255字節(jié)。對于存儲引擎為MyISAM或InnoDB的數(shù)據(jù)表,前綴最長為1000字節(jié)。

必須注意的是,在MySQL中,對于TEXT和BLOB這種大數(shù)據(jù)類型的字段,必須給出前綴長度(length)才能成功創(chuàng)建索引。

備注1:上述創(chuàng)建索引的語法還具有以下變體:

ALTER TABLE table_name
ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name (index_col_name,...) [USING index_type]

備注2:在MySQL中,只有當(dāng)數(shù)據(jù)表的存儲引擎為MyISAM, InnoDB或BDB類型時,你才能向具有NULL值的列或者數(shù)據(jù)類型為TEXT或BLOB的列添加索引。

刪除索引

在MySQL中刪除索引的方法非常簡單,其完整語法如下:

--刪除指定表中指定名稱的索引
ALTER TABLE table_name
DROP INDEX index_name;

在這里,我們編寫SQL語句將上面創(chuàng)建索引的例子中的索引idx_user_username刪除掉,代碼詳情如下:

--刪除名稱為idx_user_username的索引
ALTER TABLE user
DROP INDEX idx_user_username;

修改索引

在MySQL中并沒有提供修改索引的直接指令,一般情況下,我們需要先刪除掉原索引,再根據(jù)需要創(chuàng)建一個同名的索引,從而變相地實(shí)現(xiàn)修改索引操作。

--先刪除
ALTER TABLE user
DROP INDEX idx_user_username;
--再以修改后的內(nèi)容創(chuàng)建同名索引
CREATE INDEX idx_user_username ON user (username(8));

查看索引

在MySQL中,要查看某個數(shù)據(jù)庫表中的索引也非常簡單,只需要使用以下兩個命令中的任意一種即可。

--如果查看索引前,沒有使用user db_name等命令指定具體的數(shù)據(jù)庫,則必須加上FROM db_name
SHOW INDEX FROM table_name [FROM db_name]
--如果查看索引前,沒有使用user db_name等命令指定具體的數(shù)據(jù)庫,則必須加上db_name.前綴
SHOW INDEX FROM [db_name.]table_name

相關(guān)文章

  • phpmyadmin報錯:#2003 無法登錄 MySQL服務(wù)器的解決方法

    phpmyadmin報錯:#2003 無法登錄 MySQL服務(wù)器的解決方法

    通過phpmyadmin連接mysql數(shù)據(jù)庫時提示:“2003 無法登錄 MySQL服務(wù)器”。。。很明顯這是沒有啟動mysql服務(wù),右擊我的電腦-管理-找到服務(wù),找到mysql啟動一下
    2012-04-04
  • Mysql用戶創(chuàng)建以及權(quán)限賦予操作的實(shí)現(xiàn)

    Mysql用戶創(chuàng)建以及權(quán)限賦予操作的實(shí)現(xiàn)

    在MySQL中,創(chuàng)建新用戶并為其授予權(quán)限是一項常見的操作,本文主要介紹了Mysql用戶創(chuàng)建以及權(quán)限賦予操作的實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • MySQL 8.0數(shù)據(jù)字典的初始化與啟動流程

    MySQL 8.0數(shù)據(jù)字典的初始化與啟動流程

    數(shù)據(jù)字典(Data Dictionary, DD)用來存儲數(shù)據(jù)庫內(nèi)部對象的信息,這些信息也被稱為元數(shù)據(jù)(Metadata),包括schema名稱、表結(jié)構(gòu)、存儲過程的定義等,本文主要介紹MySQL 8.0數(shù)據(jù)字典的基本概念和數(shù)據(jù)字典的初始化與啟動加載的主要流程,需要的朋友可以參考下
    2024-06-06
  • MySQL數(shù)據(jù)庫遷移到Oracle數(shù)據(jù)庫的完整步驟記錄

    MySQL數(shù)據(jù)庫遷移到Oracle數(shù)據(jù)庫的完整步驟記錄

    在研發(fā)過程中可能會用到將表數(shù)據(jù)庫中的表結(jié)構(gòu)及數(shù)據(jù)遷移到另外一種數(shù)據(jù)庫中,比如說從mysql中遷移到oracle中,這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫遷移到Oracle數(shù)據(jù)庫的完整步驟,需要的朋友可以參考下
    2024-06-06
  • MySQL多表查詢內(nèi)連接外連接詳解(使用join、left?join、right?join和full?join)

    MySQL多表查詢內(nèi)連接外連接詳解(使用join、left?join、right?join和full?join)

    這篇文章主要給大家介紹了關(guān)于MySQL多表查詢內(nèi)連接外連接的相關(guān)資料,文中主要介紹的是使用join、left?join、right?join和full?join,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • MySQL存儲過程的異常處理方法

    MySQL存儲過程的異常處理方法

    這篇文章主要介紹了MySQL存儲過程的異常處理方法,可實(shí)現(xiàn)有效調(diào)試MySQL存儲過程處理結(jié)果的功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • SQL字段拼接成新字段幾種常見的方法

    SQL字段拼接成新字段幾種常見的方法

    這篇文章主要給大家介紹了關(guān)于SQL字段拼接成新字段幾種常見的方法,如我們在選擇商品的時候不止需要知道商品的名字,還需要商品代碼型號等,這個時候需要把這些字段拼接為一個字段進(jìn)行操作或者輸出,需要的朋友可以參考下
    2023-08-08
  • MySQL 視圖的基礎(chǔ)操作(五)

    MySQL 視圖的基礎(chǔ)操作(五)

    這篇文章主要為大家詳細(xì)介紹了MySQL 視圖的基礎(chǔ)操作,告訴大家為什么使用視圖?如何創(chuàng)建視圖等問題,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 簡單介紹MySQL中索引的使用方法

    簡單介紹MySQL中索引的使用方法

    這篇文章主要介紹了簡單介紹MySQL中索引的使用方法,是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • MySQL基礎(chǔ)之多表查詢案例分享

    MySQL基礎(chǔ)之多表查詢案例分享

    這篇文章主要為大家分享了幾個MySQL基礎(chǔ)中的多表查詢案例,文中的示例代碼簡潔易懂,對我們學(xué)習(xí)MySQL有一定的幫助,需要的小伙伴可以了解一下
    2022-10-10

最新評論

贵南县| 鄂伦春自治旗| 台北县| 台南县| 河池市| 南丰县| 胶州市| 黄龙县| 富顺县| 白河县| 磐安县| 浮山县| 淳安县| 马关县| 西充县| 西宁市| 玉门市| 西畴县| 明水县| 沿河| 马山县| 顺义区| 游戏| 江华| 蒲江县| 利辛县| 鄢陵县| 长治市| 东至县| 财经| 西乌珠穆沁旗| 宣恩县| 呈贡县| 富阳市| 德惠市| 监利县| 新巴尔虎左旗| 靖江市| 黎城县| 嘉祥县| 陇川县|