MySQL怎么創建與刪除索引?
發表時間:2023-07-30 來源:明輝站整理相關軟件相關文章人氣:
[摘要]mysql索引,mysql創建索引,mysql刪除索引1.在關系數據庫中,索引是一種與表有關的數據庫結構,它可以使對應于表的SQL語句執行得更快。今天就簡單地給大家演示一下mysql中索引的創建,查...
mysql索引,mysql創建索引,mysql刪除索引
1.在關系數據庫中,索引是一種與表有關的數據庫結構,它可以使對應于表的SQL語句執行得更快。今天就簡單地給大家演示一下mysql中索引的創建,查詢以及刪除。
2.首先隨便建立一張表,SQL語句如下:
CREATE TABLE IF NOT EXISTS `student` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '學號',
`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 '班級',
PRIMARY KEY (`id`)
) ENGINE=MYISAM DEFAULT CHARSET=utf8 COMMENT='學生表';

3.可以看到,在創建表的SQL語句中,已經建立了一個主鍵索引,此時查看表中索引:SHOW INDEX FROM `student`,結果如圖所示:

4.當然,我們還可以在基礎上添加別的索引,比如說唯一索引。假設每個學生的名字是不可以重復的,那么就可以在name字段上添加一個唯一索引:
ALTER TABLE `student` ADD UNIQUE `stu_name` (`name`);
此時,再次查看表中索引,SHOW INDEX FROM `student`,結果如圖所示:

5.然后再給班級添加一個普通索引:
ALTER TABLE `student` ADD INDEX `stu_class` (`class`);
查看表中索引,SHOW INDEX FROM `student`,結果如圖所示:

6.接下來是刪除索引,刪除掉唯一索引和普通索引:
ALTER TABLE `student` DROP INDEX `stu_name`;
ALTER TABLE `student` DROP INDEX `stu_class`;
然后查看表中索引,SHOW INDEX FROM `student`,結果如圖所示:


7.這時,就剩下一個主鍵索引了,如果直接刪除的話將會報錯:
ALTER TABLE `student` DROP PRIMARY KEY;
原因:因為主鍵索引關聯的id鍵為自動增長;

8.需要先將id鍵的自動增長取消:
ALTER TABLE `student` MODIFY `id` int(10) NOT NULL COMMENT '學號'
再次執行:
ALTER TABLE `student` DROP PRIMARY KEY;
查看表中索引,SHOW INDEX FROM `student`,表中已經沒有索引啦


以上就是MySQL如何創建和刪除索引?的詳細內容,更多請關注php中文網其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。