首頁  >  文章  >  資料庫  >  MySQL如何建立和刪除索引?

MySQL如何建立和刪除索引?

黄舟
黄舟原創
2017-08-02 10:16:373448瀏覽

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='学生表';

MySQL如何建立和刪除索引?

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

MySQL如何建立和刪除索引?


#4.當然,我們也可以在基礎上加入別的索引,比如說唯一索引。假設每個學生的名字是不可以重複的,那麼就可以在name字段上添加一個唯一索引:

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

此時,再次查看表中索引,SHOW INDEX FROM `student`,結果如圖所示:

MySQL如何建立和刪除索引?


5.然後再給班級新增一個普通索引:

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

檢視表中索引,SHOW INDEX FROM `student`,結果如圖所示:

MySQL如何建立和刪除索引?


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

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

然後查看表中索引,SHOW INDEX FROM `student`,結果如圖所示:

MySQL如何建立和刪除索引?

MySQL如何建立和刪除索引?

#7.這時,就剩下一個主鍵索引了,如果直接刪除的話將會報錯:

ALTER TABLE `student` DROP PRIMARY KEY;

原因:因為主鍵索引關聯的id鍵為自動增長;

MySQL如何建立和刪除索引?

8.需要先將id鍵的自動增長取消:

ALTER TABLE `student`  MODIFY `id`  int(10) NOT NULL COMMENT '学号'

再次執行:

 ALTER TABLE `student` DROP PRIMARY KEY;

查看表中索引,SHOW INDEX FROM `student`,表中已經沒有索引啦

MySQL如何建立和刪除索引?

MySQL如何建立和刪除索引?

以上是MySQL如何建立和刪除索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn