MySQL怎么創(chuàng)建與刪除索引?
發(fā)表時(shí)間:2023-07-30 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]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é)生表';
3.可以看到,在創(chuàng)建表的SQL語句中,已經(jīng)建立了一個(gè)主鍵索引,此時(shí)查看表中索引:SHOW INDEX FROM `student`,結(jié)果如圖所示:
4.當(dāng)然,我們還可以在基礎(chǔ)上添加別的索引,比如說唯一索引。假設(shè)每個(gè)學(xué)生的名字是不可以重復(fù)的,那么就可以在name字段上添加一個(gè)唯一索引:
ALTER TABLE `student` ADD UNIQUE `stu_name` (`name`);
此時(shí),再次查看表中索引,SHOW INDEX FROM `student`,結(jié)果如圖所示:
5.然后再給班級(jí)添加一個(gè)普通索引:
ALTER TABLE `student` ADD INDEX `stu_class` (`class`);
查看表中索引,SHOW INDEX FROM `student`,結(jié)果如圖所示:
6.接下來是刪除索引,刪除掉唯一索引和普通索引:
ALTER TABLE `student` DROP INDEX `stu_name`;
ALTER TABLE `student` DROP INDEX `stu_class`;
然后查看表中索引,SHOW INDEX FROM `student`,結(jié)果如圖所示:
7.這時(shí),就剩下一個(gè)主鍵索引了,如果直接刪除的話將會(huì)報(bào)錯(cuò):
ALTER TABLE `student` DROP PRIMARY KEY;
原因:因?yàn)橹麈I索引關(guān)聯(lián)的id鍵為自動(dòng)增長;
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)沒有索引啦
以上就是MySQL如何創(chuàng)建和刪除索引?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。