MySQL数据库应用项目式教程课件:查看、删除索引.pptx
查看、删除索引
认识索引用户在创建索引后,可以对已有的索引进行查看或删除。查看索引使用SHOWINDEX语句,删除索引使用DROPINDEX语句。
本节内容1.使用SHOWINDEX语句查看索引2.使用DROPINDEX语句删除索引3.在已有数据表中修改表删除索引
01使用SHOWINDEX语句查看索引
1.使用SHOWINDEX语句查看索引【任务描述】使用SHOWINDEX语句查看表student中的所有索引。
1.使用SHOWINDEX语句查看索引【任务分析和知识储备】使用SHOWINDEX语句查看索引的语法形式如下:SHOWINDEXFROM表名;查看结果有以下几项,如图所示:
说明:-Table:当前创建索引的数据表。-Non_unique:索引是否唯一,0代表唯一索引,1代表非唯一索引。-Key_name:索引的名称。-Seq_in_index:该列在索引中的位置,1代表索引是单列的,组合索引为每列在索引定义中的顺序。-Column_name:定义索引的列字段。-Sub_part:索引的长度。-Null:该列是否能为空。-Index_type:索引类型。1.使用SHOWINDEX语句查看索引
【任务实施】(1)打开Navicat集成开发环境。(2)在Navicat中连接MySQL中的studb数据库,新建查询窗口,输入以下语句并运行查看索引,如图所示。SHOWINDEXFROMstudent;1.使用SHOWINDEX语句查看索引
1.使用SHOWINDEX语句查看索引SHOWINDEX语句可以查看对应表里的所有索引。【任务总结】
02使用DROPINDEX语句删除索引
2.使用DROPINDEX语句删除索引【任务描述】使用DROPINDEX语句删除student表中的唯一索引uniq。
2.使用DROPINDEX语句删除索引MySQL中索引的删除分为两种情况,一种是删除主键索引,另外一种是删除非主键索引。(1)删除主键索引MySQL中主键索引在删除时,需要考虑该主键字段是否含有AUTO_INCREMENT属性,若有则需在删除主键索引前删除该属性,否则程序会报错误提示信息。(2)删除非主键索引在MySQL中删除主键索引以外的其他索引时,根据索引名称采用后边讲解中的任意一种语法都可以完成删除操作。使用DROPINDEX语句删除索引的语法形式如下:DROPINDEX索引名ON表名;【任务分析和知识储备】
2.使用DROPINDEX语句删除索引(1)打开Navicat集成开发环境。(2)在Navicat中连接MySQL中的studb数据库,新建查询窗口,输入以下语句并运行,索引已经删除成功,如图所示。DROPINDEXuniqONstudent;?【任务实施】
2.使用DROPINDEX语句删除索引(3)用DESC语句查看结果,如图所示。DESCstudent;?
2.使用DROPINDEX语句删除索引对于数据表中已经创建但不再使用的索引,应该及时删除,避免占用系统资源,影响数据库的性能。【任务总结】
03在已有数据表中修改表删除索引
3.在已有数据表中修改表删除索引先为表course的字段cno创建普通升序索引intidx,后删除course表中的唯一索引unic,最后使用SHOWINDEX语句查看索引。【任务描述】
3.在已有数据表中修改表删除索引在已有数据表中修改表删除索引,语法如下:ALTERTABLE表名DROPINDEX索引名;【任务分析和知识储备】
3.在已有数据表中修改表删除索引(1)打开Navicat集成开发环境。(2)在Navicat中连接MySQL中的studb数据库,新建查询窗口,输入以下语句并运行,索引已经创建成功,如图所示。CREATEINDEXintidxONcourse(cnoASC);?【任务实施】
3.在已有数据表中修改表删除索引(3)继续输入以下语句并运行,删除唯一索引unic,如图所示。ALTERTABLEcourseDROPINDEXunic;?
3.在已有数据表中修改表删除索引(4)用SHOWINDEXFROM语句查看结果,任务已经完成,如图所示。SHOWINDEXFROMcourse;
3.在已有数据表中修改表删除索引索引并不是越多越好,索引虽然可以提高查询效率,但同时也降低了数据的更新效率,一张表的索引数量最好不超过6个。【任务总结】
操作演示
好好学习天天进步