實驗任務七 索引管理實驗任務書
1. 實驗目的
掌握在MySQL中使用MySQL Workbench或者SQL語句創建和使用索引的方法(以SQL命令為重點)。
掌握在MySQL中使用MySQL Workbench或者SQL語句查看和刪除索引的方法(以SQL命令為重點)。
2. 實驗內容
根據實驗2.1中學生表、課程表和學生成績表完成如下實驗內容,給出實驗涉及的SQL語句和執行結果截圖。
在MySQL中使用MySQL Workbench或者SQL語句創建和使用索引的方法
(1)在MySQL Workbench或命令行環境下,使用CREATE INDEX為課程表上課程名稱添加普通索引,索引名稱自擬。
(2)在MySQL Workbench或命令行環境下,使用EXPLAIN語句分析查詢計算機圖形學課程信息時,索引的使用情況。
(3)在MySQL Workbench或命令行環境下,使用ALTER TABLE為學生表上學生姓名和出生日期附加復合唯一索引,索引名稱自擬。
(4)在MySQL Workbench或命令行環境下,使用EXPLAIN語句,分析查詢學生表時,使用學生姓名為查詢條件和使用出生日期為查詢條件,在索引使用時的差異性。
(5)在MySQL Workbench或命令行環境下,修改學生表,添加學生基本信息字段info,為學生基本信息字段添加全文索引,索引名稱自擬。
MySQL中使用MySQL Workbench或者SQL語句查看和刪除索引的方法
(1)在MySQL Workbench或命令行環境下,查看學生表上索引情況。
(2)在MySQL Workbench或命令行環境下,刪除學生表上姓名和出生日期的復合索引。
#(1)在MySQL Workbench或命令行環境下,使用CREATE INDEX為課程表上課程名稱添加普通索引,索引名稱自擬。
create index coursename
ON course(courseName ASC);#(2)在MySQL Workbench或命令行環境下,使用EXPLAIN語句分析查詢計算機圖形學課程信息時,索引的使用情況。
EXPLAIN SELECT * FROM course WHERE courseName = '計算機圖形學';#(3)在MySQL Workbench或命令行環境下,使用ALTER TABLE為學生表上學生姓名和出生日期附加復合唯一索引,索引名稱自擬。
ALTER TABLE student
ADD UNIQUE INDEX unique_name_day (studentName, birthday);#(4)在MySQL Workbench或命令行環境下,使用EXPLAIN語句,分析查詢學生表時,
#使用學生姓名為查詢條件和使用出生日期為查詢條件,在索引使用時的差異性。
# 4.1使用學生姓名作為查詢條件
EXPLAIN SELECT * FROM student WHERE studentName = '張志國';
# 4.2使用學出生日期作為查詢條件
EXPLAIN SELECT * FROM student WHERE birthday = '2002-09-13';#(5)在MySQL Workbench或命令行環境下,修改學生表,添加學生基本信息字段info,為學生基本信息字段添加全文索引,索引名稱自擬。
#MySQL中使用MySQL Workbench或者SQL語句查看和刪除索引的方法
#5.1(1)在MySQL Workbench或命令行環境下,查看學生表上索引情況。
ALTER TABLE student
ADD FULLTEXT INDEX student_info (info);#檢查有沒有info字段
SHOW COLUMNS FROM student;#沒有就添加info字段
ALTER TABLE student
ADD COLUMN info TEXT; -- 將 TEXT 替換為你的信息適當的數據類型。#5.2(2)在MySQL Workbench或命令行環境下,刪除學生表上姓名和出生日期的復合索引。
ALTER TABLE student
DROP INDEX unique_name_day;