国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

mysql的index關鍵字怎么使用

2024-07-24 12:33:23
字體:
來源:轉載
供稿:網(wǎng)友
  本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
 
  在mysql中,index指的是索引,是一種特殊的數(shù)據(jù)庫結構,由數(shù)據(jù)表中的一列或多列組合而成,可以用來快速查詢數(shù)據(jù)表中有某一特定值的記錄。
 
  index關鍵字可以用于創(chuàng)建索引,也可用于查看索引,也可用于修改索引。
 
  index關鍵字創(chuàng)建索引
 
  可以使用專門用于創(chuàng)建索引的 CREATE INDEX 語句在一個已有的表上創(chuàng)建索引,但該語句不能創(chuàng)建主鍵。
 
  CREATE INDEX 索引名 ON 表名 (列名 [長度] [ASC|DESC])
  <索引名>:指定索引名。一個表可以創(chuàng)建多個索引,但每個索引在該表中的名稱是唯一的。
  <表名>:指定要創(chuàng)建索引的表名。
  <列名>:指定要創(chuàng)建索引的列名。通常可以考慮將查詢語句中在 JOIN 子句和 WHERE 子句里經(jīng)常出現(xiàn)的列作為索引列。
  <長度>:可選項。指定使用列前的 length 個字符來創(chuàng)建索引。使用列的一部分創(chuàng)建索引有利于減小索引文件的大小,節(jié)省索引列所占的空間。在某些情況下,只能對列的前綴進行索引。索引列的長度有一個最大上限 255 個字節(jié)(MyISAM 和 InnoDB 表的最大上限為 1000 個字節(jié)),如果索引列的長度超過了這個上限,就只能用列的前綴進行索引。另外,BLOB 或 TEXT 類型的列也必須使用前綴索引。
  ASC|DESC:可選項。ASC指定索引按照升序來排列,DESC指定索引按照降序來排列,默認為ASC。
  例如,要為列c4添加新索引,請使用以下語句:
 
  CREATE INDEX idx_c4 ON t(c4);
  默認情況下,如果未指定索引類型,MySQL將創(chuàng)建B-Tree索引。
 
  index關鍵字查看索引
 
  SHOW INDEX FROM 表名 [FROM 數(shù)據(jù)庫名]
  語法說明如下:
 
  <表名>:指定需要查看索引的數(shù)據(jù)表名。
  <數(shù)據(jù)庫名>:指定需要查看索引的數(shù)據(jù)表所在的數(shù)據(jù)庫,可省略。比如,SHOW INDEX FROM student FROM test; 語句表示查看 test 數(shù)據(jù)庫中 student 數(shù)據(jù)表的索引。
  示例:
 
  mysql> SHOW INDEX FROM tb_stu_info2/G
  *************************** 1. row ***************************
          Table: tb_stu_info2
     Non_unique: 0
       Key_name: height
   Seq_in_index: 1
    Column_name: height
      Collation: A
    Cardinality: 0
       Sub_part: NULL
         Packed: NULL
           Null: YES
     Index_type: BTREE
        Comment:
  Index_comment:
  1 row in set (0.03 sec)
  其中各主要參數(shù)說明如下:
 
  參數(shù) 說明
  Table 表示創(chuàng)建索引的數(shù)據(jù)表名,這里是 tb_stu_info2 數(shù)據(jù)表。
  Non_unique 表示該索引是否是唯一索引。若不是唯一索引,則該列的值為 1;若是唯一索引,則該列的值為 0。
  Key_name 表示索引的名稱。
  Seq_in_index 表示該列在索引中的位置,如果索引是單列的,則該列的值為 1;如果索引是組合索引,則該列的值為每列在索引定義中的順序。
  Column_name 表示定義索引的列字段。
  Collation 表示列以何種順序存儲在索引中。在 MySQL 中,升序顯示值“A”(升序),若顯示為 NULL,則表示無分類。
  Cardinality 索引中唯一值數(shù)目的估計值。基數(shù)根據(jù)被存儲為整數(shù)的統(tǒng)計數(shù)據(jù)計數(shù),所以即使對于小型表,該值也沒有必要是精確的。基數(shù)越大,當進行聯(lián)合時,MySQL 使用該索引的機會就越大。
  Sub_part 表示列中被編入索引的字符的數(shù)量。若列只是部分被編入索引,則該列的值為被編入索引的字符的數(shù)目;若整列被編入索引,則該列的值為 NULL。
  Packed 指示關鍵字如何被壓縮。若沒有被壓縮,值為 NULL。
  Null 用于顯示索引列中是否包含 NULL。若列含有 NULL,該列的值為 YES。若沒有,則該列的值為 NO。
  Index_type 顯示索引使用的類型和方法(BTREE、FULLTEXT、HASH、RTREE)。
  Comment 顯示評注。
  index關鍵字修改索引
 
  DROP INDEX <索引名> ON <表名>
  語法說明如下:
 
  <索引名>:要刪除的索引名。
  <表名>:指定該索引所在的表名。
  說明:
 
  在 MySQL 中修改索引可以通過刪除原索引,再根據(jù)需要創(chuàng)建一個同名的索引,從而實現(xiàn)修改索引的操作。
 
  感謝各位的閱讀,以上就是“mysql的index關鍵字怎么使用”的內容了,經(jīng)過本文的學習后,相信大家對mysql的index關鍵字怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。

(編輯:武林網(wǎng))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 昔阳县| 金平| 静乐县| 南宁市| 建始县| 灵寿县| 高青县| 白玉县| 安徽省| 姜堰市| 孙吴县| 卓资县| 淳化县| 盐亭县| 和龙市| 驻马店市| 临西县| 婺源县| 邵武市| 津市市| 会同县| 敖汉旗| 年辖:市辖区| 桑植县| 阿尔山市| 清苑县| 松溪县| 南华县| 光泽县| 丹棱县| 巴林右旗| 兴宁市| 思南县| 专栏| 南和县| 山丹县| 盐池县| 汶川县| 泰州市| 资阳市| 平乡县|