>  기사  >  데이터 베이스  >  MySQL에서 인덱스를 생성하고 삭제하는 방법은 무엇입니까?

MySQL에서 인덱스를 생성하고 삭제하는 방법은 무엇입니까?

黄舟
黄舟원래의
2017-08-02 10:16:373483검색

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. 또한 고유 인덱스와 같은 다른 인덱스를 기반으로 추가합니다. 각 학생의 이름이 반복될 수 없다고 가정하면 이름 필드에 고유 인덱스를 추가할 수 있습니다.

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으로 문의하세요.