mysql1124实验七索引管理

实验 任务 七 索引管理实验任务书

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或命令行环境下,删除学生表上姓名和出生日期的复合索引。

sql 复制代码
#(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;
相关推荐
Elastic 中国社区官方博客14 小时前
错误最多的服务运行正常:使用 ES|QL 从日志进行根因分析
大数据·运维·数据库·sql·elasticsearch·搜索引擎·全文检索
Seraphina3615 小时前
DVWA(SQL Injection-High,XSS Reflected-Medium,XSS Stored-Medium)
数据库·经验分享·sql·网络安全·xss
2501_9336707916 小时前
2027风控策略岗秋招准备:SQL、Excel、建模的优先级与项目路径
人工智能·sql·excel
其实防守也摸鱼17 小时前
网安自测题:掌握核心知识点的实用练习
linux·运维·服务器·前端·数据库·sql·xss
Shadow(⊙o⊙)17 小时前
MySQL C/C++链接MySQL使用
数据库·sql·mysql
Shadow(⊙o⊙)17 小时前
mysql为创建普通用户并创建库赋权
数据库·sql·mysql
Seraphina361 天前
SQLI-labs(一)黑盒全流程
sql·安全·web安全
做运维的阿瑞1 天前
多表查询基础:INNER JOIN、LEFT JOIN、RIGHT JOIN
数据库·sql·mysql·算法
Seraphina361 天前
DVWA(SQL注入-low,medium,XSS反射-low)
前端·数据库·笔记·sql·网络安全·web·xss
韩曙亮2 天前
【JavaEE】MyBatis 基本用法 ⑤ ( 单条件查询 | 多条件查询 | 多条件动态查询 | 单条件动态查询 )
java·sql·java-ee·mybatis·mapper·sql映射