mysql中如何查看和刪除唯一索引。
克山ssl適用于網站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
查看唯一索引:
show
index
from
mytable;//mytable
是表名
查詢結果如下:
查詢到唯一索引后,如何刪除唯一索引呢,使用如下命令:
alter
table
mytable
drop
index
mdl_tag_use_ix;//mdl_tag_use_ix是上表查出的索引名,key_name
只能一個個刪除:
alter
table
表名
drop
index
索引名;
所以不想每次只刪除一個所以然后再重建一次索引,我想一次性刪除那些多余的索引,這樣索引只需要重建一次
----------------------
你這話有問題.說明你對其機制理解有誤.
mysql下不同存儲引擎索引的組織方式有點不同的
如果你是myisam,可以一個個直接刪除
如果你是innodb的,則應先刪除非主鍵索引,到最后才刪除主鍵索引
1、如圖為MySQL刪除唯一索引的基本語法。
2、為了便于演示,我們需要根據(jù)圖示代碼創(chuàng)建一個唯一索引。
3、我們需要根據(jù)圖示代碼查看數(shù)據(jù)表當前的索引情況。
4、我們需要根據(jù)圖示代碼輸入mysql刪除唯一索引。
5、確認指令無誤,回車執(zhí)行即可。
索引的創(chuàng)建可以在CREATE TABLE語句中進行,也可以單獨用CREATE INDEX或ALTER TABLE來給表增加索引。刪除索引可以利用ALTER TABLE或DROP INDEX語句來實現(xiàn)。
語法如下:
alter table table_name add index index_name (column_list) ;
alter table table_name add unique (column_list) ;
alter table table_name add primary key (column_list) ;
其中包括普通索引、UNIQUE索引和PRIMARY KEY索引3種創(chuàng)建索引的格式,table_name是要增加索引的表名,column_list指出對哪些列進行索引,多列時各列之間用逗號分隔。
索引名index_name可選,缺省時,MySQL將根據(jù)第一個索引列賦一個名稱。另外,ALTER TABLE允許在單個語句中更改多個表,因此可以同時創(chuàng)建多個索引。
刪除主鍵時是否會刪除索引?
答案取決于索引是創(chuàng)建主鍵時自動創(chuàng)建的,還是創(chuàng)建主鍵前手工創(chuàng)建的。
測試如下:--建表create
table
hqy_test(id
integer)
;--建索引create
(unique)index
idx_hqy_id
on
hqy_test(id)
;--加主鍵alter
table
hqy_test
add
constraint
pk_hqy_id
primary
key
(id);
select
index_name
from
user_indexes
where
index_name='IDX_HQY_ID';IDX_HQY_ID
---刪除主鍵
alter
table
hqy_test
drop
constraint
pk_hqy_id;或者:alter
table
hqy_test
drop
primary
key;
也是行的。
select
index_name
from
user_indexes
where
index_name='IDX_HQY_ID';
IDX_HQY_ID
==沒有刪除索引
--刪除索引,增加主鍵并自動創(chuàng)建索引
drop
index
idx_hqy_id;
alter
talbe
hqy_test
add
constraint
pk_hqy_id
primary
key(id)
using
index;
select
index_name
from
user_indexes
where
index_name='PK_HQY_ID';
PK_HQY_ID
==自動創(chuàng)建了索引
--刪除主鍵約束
alter
table
hqy_test
drop
primary
key;
select
index_name
from
user_indexes
where
index_name='PK_HQY_ID';
無
==索引被刪除了
如果刪除主鍵時,希望同時刪掉索引,則應該增加drop
index選項,從而不管索引是否是創(chuàng)建主鍵時自動創(chuàng)建的,即:alter
table
hqy_test
drop
primary
key
drop
index;