明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

MySQL怎么創(chuàng)建與刪除索引?

[摘要]mysql索引,mysql創(chuàng)建索引,mysql刪除索引1.在關(guān)系數(shù)據(jù)庫中,索引是一種與表有關(guān)的數(shù)據(jù)庫結(jié)構(gòu),它可以使對(duì)應(yīng)于表的SQL語句執(zhí)行得更快。今天就簡單地給大家演示一下mysql中索引的創(chuàng)建,查...
mysql索引,mysql創(chuàng)建索引,mysql刪除索引

1.在關(guān)系數(shù)據(jù)庫中,索引是一種與表有關(guān)的數(shù)據(jù)庫結(jié)構(gòu),它可以使對(duì)應(yīng)于表的SQL語句執(zhí)行得更快。今天就簡單地給大家演示一下mysql中索引的創(chuàng)建,查詢以及刪除。

2.首先隨便建立一張表,SQL語句如下:

CREATE TABLE IF NOT EXISTS `student` (
 `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '學(xué)號(hào)',
 `name` varchar(64) NOT NULL DEFAULT '' COMMENT '姓名',
 `sex` tinyint(1) NOT NULL COMMENT '性別',
 `age` tinyint(2) NOT NULL COMMENT '年齡',
 `class` varchar(64) NOT NULL DEFAULT '' COMMENT '班級(jí)',
 PRIMARY KEY (`id`)
 ) ENGINE=MYISAM DEFAULT CHARSET=utf8 COMMENT='學(xué)生表';

1.png

3.可以看到,在創(chuàng)建表的SQL語句中,已經(jīng)建立了一個(gè)主鍵索引,此時(shí)查看表中索引:SHOW INDEX FROM `student`,結(jié)果如圖所示:

2.png


4.當(dāng)然,我們還可以在基礎(chǔ)上添加別的索引,比如說唯一索引。假設(shè)每個(gè)學(xué)生的名字是不可以重復(fù)的,那么就可以在name字段上添加一個(gè)唯一索引:

ALTER TABLE `student` ADD UNIQUE `stu_name` (`name`);

此時(shí),再次查看表中索引,SHOW INDEX FROM `student`,結(jié)果如圖所示:

3.png


5.然后再給班級(jí)添加一個(gè)普通索引:

ALTER TABLE `student` ADD INDEX `stu_class` (`class`);

查看表中索引,SHOW INDEX FROM `student`,結(jié)果如圖所示:

4.png


6.接下來是刪除索引,刪除掉唯一索引和普通索引:

ALTER TABLE `student` DROP INDEX `stu_name`;
ALTER TABLE `student` DROP INDEX `stu_class`;

然后查看表中索引,SHOW INDEX FROM `student`,結(jié)果如圖所示:

5.png

6.png

7.這時(shí),就剩下一個(gè)主鍵索引了,如果直接刪除的話將會(huì)報(bào)錯(cuò):

ALTER TABLE `student` DROP PRIMARY KEY;

原因:因?yàn)橹麈I索引關(guān)聯(lián)的id鍵為自動(dòng)增長;

7.png

8.需要先將id鍵的自動(dòng)增長取消:

ALTER TABLE `student`  MODIFY `id`  int(10) NOT NULL COMMENT '學(xué)號(hào)'

再次執(zhí)行:

 ALTER TABLE `student` DROP PRIMARY KEY;

查看表中索引,SHOW INDEX FROM `student`,表中已經(jīng)沒有索引啦

8.png

9.png

以上就是MySQL如何創(chuàng)建和刪除索引?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。