mysql中如何查看和刪除唯一索引。
成都一家集口碑和實(shí)力的網(wǎng)站建設(shè)服務(wù)商,擁有專業(yè)的企業(yè)建站團(tuán)隊(duì)和靠譜的建站技術(shù),十年企業(yè)及個(gè)人網(wǎng)站建設(shè)經(jīng)驗(yàn) ,為成都上1000家客戶提供網(wǎng)頁(yè)設(shè)計(jì)制作,網(wǎng)站開發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營(yíng)銷型網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),同時(shí)也為不同行業(yè)的客戶提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選成都創(chuàng)新互聯(lián)公司。
查看唯一索引:
show
index
from
mytable;//mytable
是表名
查詢結(jié)果如下:
查詢到唯一索引后,如何刪除唯一索引呢,使用如下命令:
alter
table
mytable
drop
index
mdl_tag_use_ix;//mdl_tag_use_ix是上表查出的索引名,key_name
SHOW INDEX FROM tbl_name [FROM db_name]
例如,
mysql SHOW INDEX FROM mytable FROM mydb;
mysql SHOW INDEX FROM mydb.mytable;
SHOW KEYS是SHOW INDEX的同義詞。您也可以使用mysqlshow -k db_name tbl_name命令列舉一個(gè)表的索引。
SHOW INNODB STATUS語(yǔ)法
SHOW INNODB STATUS
SHOW INDEX會(huì)返回表索引信息。其格式與ODBC中的SQLStatistics調(diào)用相似。
SHOW INDEX會(huì)返回以下字段:
· Table
表的名稱。
· Non_unique
如果索引不能包括重復(fù)詞,則為0。如果可以,則為1。
· Key_name
索引的名稱。
· Seq_in_index
索引中的列序列號(hào),從1開始。
· Column_name
列名稱。
· Collation
列以什么方式存儲(chǔ)在索引中。在MySQL中,有值‘A’(升序)或NULL(無分類)。
· Cardinality
索引中唯一值的數(shù)目的估計(jì)值。通過運(yùn)行ANALYZE TABLE或myisamchk -a可以更新?;鶖?shù)根據(jù)被存儲(chǔ)為整數(shù)的統(tǒng)計(jì)數(shù)據(jù)來計(jì)數(shù),所以即使對(duì)于小型表,該值也沒有必要是精確的?;鶖?shù)越大,當(dāng)進(jìn)行聯(lián)合時(shí),MySQL使用該索引的機(jī)會(huì)就越大。
· Sub_part
如果列只是被部分地編入索引,則為被編入索引的字符的數(shù)目。如果整列被編入索引,則為NULL。
· Packed
指示關(guān)鍵字如何被壓縮。如果沒有被壓縮,則為NULL。
· Null
如果列含有NULL,則含有YES。如果沒有,則該列含有NO。
· Index_type
用過的索引方法(BTREE, FULLTEXT, HASH, RTREE)。
· Comment
多種評(píng)注。
查看索引的語(yǔ)法格式如下:
SHOW INDEX FROM 表名 [ FROM 數(shù)據(jù)庫(kù)名]
語(yǔ)法說明如下:
表名:指定需要查看索引的數(shù)據(jù)表名。
數(shù)據(jù)庫(kù)名:指定需要查看索引的數(shù)據(jù)表所在的數(shù)據(jù)庫(kù),可省略。比如,SHOW INDEX FROM student FROM test; 語(yǔ)句表示查看 test 數(shù)據(jù)庫(kù)中 student 數(shù)據(jù)表的索引。
示例
使用 SHOW INDEX 語(yǔ)句查看《MySQL創(chuàng)建索引》一節(jié)中 tb_stu_info2 數(shù)據(jù)表的索引信息,SQL 語(yǔ)句和運(yùn)行結(jié)果如下所示。
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 表示列以何種順序存儲(chǔ)在索引中。在 MySQL 中,升序顯示值“A”(升序),若顯示為 NULL,則表示無分類。
Cardinality 索引中唯一值數(shù)目的估計(jì)值。基數(shù)根據(jù)被存儲(chǔ)為整數(shù)的統(tǒng)計(jì)數(shù)據(jù)計(jì)數(shù),所以即使對(duì)于小型表,該值也沒有必要是精確的?;鶖?shù)越大,當(dāng)進(jìn)行聯(lián)合時(shí),MySQL 使用該索引的機(jī)會(huì)就越大。
Sub_part 表示列中被編入索引的字符的數(shù)量。若列只是部分被編入索引,則該列的值為被編入索引的字符的數(shù)目;若整列被編入索引,則該列的值為 NULL。
Packed 指示關(guān)鍵字如何被壓縮。若沒有被壓縮,值為 NULL。
Null 用于顯示索引列中是否包含 NULL。若列含有 NULL,該列的值為 YES。若沒有,則該列的值為 NO。
Index_type 顯示索引使用的類型和方法(BTREE、FULLTEXT、HASH、RTREE)。
Comment 顯示評(píng)注。
顯示一個(gè)表所有索引的SQL語(yǔ)句是:
show index from 數(shù)據(jù)庫(kù)名.表名
查看某表某一列上的索引使用下面的SQL語(yǔ)句:
show index from 數(shù)據(jù)庫(kù)名.表名 where column_name like '列名'
下面的SQL語(yǔ)句在我的數(shù)據(jù)庫(kù)上執(zhí)行成功:
show index from web.clubuser where column_name like 'user'。