mysql インデックス、mysql create インデックス、mysql delete インデックス
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また、一意のインデックスなどの他のインデックスも追加します。各生徒の名前を繰り返すことができないと仮定すると、名前フィールドに一意のインデックスを追加できます:
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。この時点で、主キー インデックスが 1 つだけ残っています。これを直接削除すると、エラーが報告されます。 ALTER TABLE `student` DROP PRIMARY KEY;
理由: 主キーインデックスに関連付けられた ID キーが自動的に増加するためです。
ALTER TABLE `student` MODIFY `id` int(10) NOT NULL COMMENT '学号'
もう一度実行します:
ALTER TABLE `student` DROP PRIMARY KEY;
テーブル内のインデックスを表示します。SHOW INDEX FROM `student`、テーブルにはインデックスがありません
以上がMySQL でインデックスを作成および削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。