第3章 GaussDB(for MySQL)索引操作实验 索引是指向数据库表中“指定列”的指针。在数据库中使用索引,可以方便、快速地找到特定信息,可以使对应于表的SQL语句执行得更快。 本章的主要实验内容包括: (1) 创建索引; (2) 查看索引; (3) 修改索引; (4) 删除索引。 3.1创建索引 GaussDB(for MySQL)提供了利用“管理控制台”和利用SQL语句创建数据库表中索引的操作方法。两种方法都可以方便地实现索引的创建。 3.1.1利用“管理控制台”创建索引 〖*4/5〗1. 实验目标 利用“管理控制台”为课程表course创建普通索引,生成的索引文件命名为ind_course_name,根据索引字段Course_name的值,以降序方式排列索引文件的内容,索引类型设置为Normal,索引方式设置为BTREE。 2. 操作步骤 利用“管理控制台”创建索引。 操作步骤如下: (1) 打开浏览器,进入“华为云-账号登录”窗口。 (2) 在“华为云-账号登录”窗口登录,进入“华为云”管理平台首页。 (3) 在“华为云”管理平台首页选择“控制台”选项,进入“控制台”窗口。 (4) 在“控制台”窗口选择“云数据库 GaussDB”选项,进入“云数据库GaussDB-管理控制台”窗口。 第3章GaussDB(for MySQL)索引操作实验 (5) 在“云数据库GaussDB-管理控制台”窗口选择“库管理”菜单命令,打开“库管理”选项卡,如图3-1所示。 图3-1“库管理”选项卡 (6) 在“库管理”选项卡中,首先选择需要创建索引的表course,然后单击“修改表”按钮,打开“修改表”选项卡,如图3-2所示。 图3-2“修改表”选项卡 (7) 在“修改表”选项卡中选择“索引(可选)”选项,进入“编辑索引”窗口,如图3-3所示。 图3-3“编辑索引”窗口 (8) 在“编辑索引”窗口,单击“添加”按钮,进入“添加索引”窗口,定义索引名为ind_course_name,如图3-4所示。 图3-4“添加索引”窗口 (9) 在“添加索引”窗口单击“包含列”下的“编辑”按钮,弹出“请选择索引列”窗口,如图3-5所示。 图3-5“请选择索引列”窗口 (10) 在“请选择索引列”窗口的“列信息”下拉列表框中选择索引字段(Course_name),然后在“排序规则”下拉列表框中选择“降序”,最后单击“确定”按钮,返回“编辑索引”窗口。 (11) 在“编辑索引”窗口的“索引类型”下拉列表框中选择Normal,确定索引字段的索引类型,如图3-6所示。 图3-6选择索引类型 (12) 在“编辑索引”窗口的“索引方式”下拉列表框中选择BTREE,确定索引字段的索引方式,如图3-7所示。 图3-7选择索引方式 (13) 完成所有索引参数的设置,单击“提交修改”按钮,GaussDB会自动生成SQL语句,在“SQL预览”窗口中单击“执行脚本”按钮,完成索引的创建,如图3-8所示。 图3-8执行SQL语句完成索引创建 3.1.2利用SQL语句创建索引 〖*4/5〗1. 实验目标 利用“管理控制台”,为学生表student创建普通索引,索引文件名为student_name,索引字段为Student_name。 2. 操作步骤 利用SQL语句创建索引。 操作步骤如下: (1) 打开浏览器,进入“华为云-账号登录”窗口。 (2) 在“华为云-账号登录”窗口登录,进入“华为云”管理平台首页。 (3) 在“华为云”管理平台首页选择“控制台”选项,进入“控制台”窗口。 (4) 在“控制台”窗口选择“云数据库 GaussDB”选项,进入“云数据库GaussDB-管理控制台”窗口。 (5) 在“云数据库GaussDB-管理控制台”窗口选择“库管理”菜单命令,打开“库管理”选项卡。 (6) 在“库管理”选项卡中单击“SQL窗口”按钮,打开“SQL查询”选项卡,如图3-9所示。 图3-9“SQL查询”选项卡 (7) 在“SQL查询”选项卡的SQL编辑区,输入如下SQL语句: CREATE INDEX student_name USING BTREE on XinHua_GaussDB.student(student_name DESC); 在“SQL查询”选项卡中单击“执行SQL(F8)”按钮,执行结果如图3-10所示。 图3-10创建索引执行结果 3.2查看索引 一个应用数据库系统通常有多个数据库,每个数据库又有多个数据库表,而且每个数据库表也会根据应用的需求创建多个索引文件。为了更好地使用这些数据库中的数据,我们一定要了解数据库中数据库表的索引文件的内容。以下是有关查看索引的操作方法。 3.2.1利用“管理控制台”查看索引 〖*4/5〗1. 实验目标 利用GaussDB(for MySQL)“管理控制台”查看表course中的索引清单。 2. 操作步骤 利用“管理控制台”查看索引。 操作步骤如下: (1) 打开浏览器,进入“华为云-账号登录”窗口。 (2) 在“华为云-账号登录”窗口登录,进入“华为云”管理平台首页。 (3) 在“华为云”管理平台首页选择“控制台”选项,进入“控制台”窗口。 (4) 在“控制台”窗口选择“云数据库 GaussDB”选项,进入“云数据库GaussDB-管理控制台”窗口。 (5) 在“云数据库GaussDB-管理控制台”窗口选择“库管理”菜单命令,打开“库管理”选项卡。 (6) 在“库管理”选项卡中选择创建索引的表(course),单击“修改表”按钮,打开“修改表”选项卡。 (7) 在“修改表”选项卡中,选择“索引(可选)”选项,进入“编辑索引”窗口,在“编辑索引”窗口就可以查看当前表的索引,如图3-11所示。 图3-11“编辑索引”窗口 3.2.2利用SQL语句查看索引 〖*4/5〗1. 实验目标 利用SQL语句查看表student中的索引清单。 2. 操作步骤 利用SQL语句查看索引。 操作步骤如下: (1) 打开浏览器,进入“华为云-账号登录”窗口。 (2) 在“华为云-账号登录”窗口登录,进入“华为云”管理平台首页。 (3) 在“华为云”管理平台首页选择“控制台”选项,进入“控制台”窗口。 (4) 在“控制台”窗口选择“云数据库 GaussDB”选项,进入“云数据库GaussDB-管理控制台”窗口。 (5) 在“云数据库GaussDB-管理控制台”窗口选择“库管理”菜单命令,打开“库管理”选项卡。 (6) 在“库管理”选项卡中单击“SQL窗口”按钮,打开“SQL查询”选项卡。 (7) 在“SQL查询”选项卡的SQL编辑区,输入如下SQL语句: SHOW INDEX FROM XinHua_GaussDB.student; 在“SQL查询”选项卡中,单击“执行SQL(F8)”按钮,执行结果如图3-12所示。 图3-12查看索引执行结果 3.3修改索引 数据库表中的索引不是一成不变的,会根据数据库应用系统的需求不断修改维护。修改表中的索引,通常利用“管理控制台”来实现。 1. 实验目标 利用“管理控制台”,修改表student中的索引,将字段student_name的排序规则从降序排列改为升序排列。 2. 操作步骤 利用“管理控制台”修改索引。 操作步骤如下: (1) 打开浏览器,进入“华为云-账号登录”窗口。 (2) 在“华为云-账号登录”窗口登录,进入“华为云”管理平台首页。 (3) 在“华为云”管理平台首页选择“控制台”选项,进入“控制台”窗口。 (4) 在“控制台”窗口选择“云数据库 GaussDB”选项,进入“云数据库GaussDB-管理控制台”窗口。 (5) 在“云数据库GaussDB-管理控制台”窗口选择“库管理”菜单命令,打开“库管理”选项卡。 (6) 在“库管理”选项卡中,首先选择删除索引的表(student); 然后单击“修改表”按钮,打开“修改表”选项卡; 最后单击“索引(可选)”选项,进入“编辑索引”窗口,如图3-13所示。 图3-13“编辑索引”窗口 (7) 在“编辑索引”窗口,单击“包含列”属性下的“编辑”按钮,弹出“请选择索引列”窗口,在“排序规则”下拉列表框中将“降序”改为“升序”,如图3-14所示。 图3-14“请选择索引列”窗口 (8) 在“请选择索引列”窗口,首先单击“确定”按钮,返回“编辑索引”窗口; 然后单击“提交修改”按钮,进入“SQL预览”窗口,如图3-15所示; 再单击“执行脚本”按钮,完成索引值的修改。 图3-15“SQL预览”窗口 3.4删除索引 索引文件固然作用很大,但索引文件过多,也会给数据库操作带来时间的损耗和不必要的麻烦。通常在数据库应用系统中,用户会根据问题求解的需要随时创建索引,也会随着问题的解决及时删除索引。GaussDB(for MySQL)提供了利用“管理控制台”和SQL语句删除索引的方法。 3.4.1利用“管理控制台”删除索引 〖*4/5〗1. 实验目标 利用“管理控制台”,删除表student中的索引student_name。 2. 操作步骤 利用“管理控制台”删除索引。 操作步骤如下: (1) 打开浏览器,进入“华为云-账号登录”窗口。 (2) 在“华为云-账号登录”窗口登录,进入“华为云”管理平台首页。 (3) 在“华为云”管理平台首页选择“控制台”选项,进入“控制台”窗口。 (4) 在“控制台”窗口选择“云数据库 GaussDB”选项,进入“云数据库GaussDB-管理控制台”窗口。 (5) 在“云数据库GaussDB-管理控制台”窗口选择“库管理”菜单命令,打开“库管理”选项卡。 (6) 在“库管理”选项卡中,首先选择删除索引的表(student); 然后单击“修改表”按钮,打开“修改表”选项卡; 最后单击“索引(可选)”选项,进入“编辑索引”窗口,如图3-16所示。 图3-16“编辑索引”窗口 (7) 在“编辑索引”窗口,选中目标操作的索引行,当索引行变成选中状态后,单击“删除”按钮,完成删除操作。 3.4.2利用SQL语句删除索引 〖*4/5〗1. 实验目标 利用SQL语句删除表course中的索引index_name。 2. 操作步骤 利用SQL语句删除索引。 操作步骤如下: (1) 打开浏览器,进入“华为云-账号登录”窗口。 (2) 在“华为云-账号登录”窗口登录,进入“华为云”管理平台首页。 (3) 在“华为云”管理平台首页选择“控制台”选项,进入“控制台”窗口。 (4) 在“控制台”窗口选择“云数据库 GaussDB”选项,进入“云数据库GaussDB-管理控制台”窗口。 (5) 在“云数据库GaussDB-管理控制台”窗口选择“库管理”菜单命令,打开“库管理”选项卡。 (6) 在“库管理”选项卡中单击“SQL窗口”按钮,打开“SQL查询”选项卡。 (7) 在“SQL查询”选项卡的SQL编辑区,输入如下SQL语句: DROP INDEX index_name on XinHua_GaussDB.course; 在“SQL查询”选项卡中,单击“执行SQL(F8)”按钮,执行结果如图3-17所示。 图3-17删除索引执行结果