第62练 项目八 删除索引《数据库原理与应用技术-MySQL》(河北科学技术出版社)一课一练(河北省)

2026-05-07
| 2份
| 6页
| 30人阅读
| 0人下载

内容正文:

编写说明:依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循"由浅入深、循序渐进"的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》第62练,内容是删除索引。 《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》 第62练 删除索引 一、单项选择题 1. 在MySQL中,用于删除索引的SQL语句是( )。 A. REMOVE INDEX B. DELETE INDEX C. DROP INDEX D. DROP CONSTRAINT 【答案】C 【解析】 A错误:MySQL中无REMOVE INDEX语法。 B错误:DELETE INDEX不是合法语法,DELETE用于删除数据行。 C正确:DROP INDEX是删除索引的标准语句,语法:DROP INDEX 索引名 ON 表名;。 D错误:DROP CONSTRAINT通常用于删除约束(如外键、检查约束),不能直接删除索引(但部分数据库中唯一约束的索引可通过此方式删除,MySQL中不常用)。 2.要将表student上的索引idx_name删除,以下写法正确的是( )。 A. DROP INDEX idx_name; B. DROP INDEX idx_name ON student; C. DELETE INDEX idx_name FROM student; D. ALTER TABLE student REMOVE INDEX idx_name; 【答案】B 【解析】 A错误:缺少表名,MySQL要求DROP INDEX必须指定索引所属的表。 B正确:DROP INDEX 索引名 ON 表名; 是标准语法。 C错误:DELETE INDEX不是MySQL支持的语法。 D错误:虽然ALTER TABLE可用于删除索引,但关键字是DROP INDEX而非REMOVE INDEX。正确写法为ALTER TABLE student DROP INDEX idx_name;。 3.关于删除主键索引的说法,下列选项中正确的是( )。 A. 主键索引可以直接使用DROP INDEX语句删除 B. 主键索引可以使用ALTER TABLE ... DROP PRIMARY KEY删除 C. 删除主键索引后,表将自动创建一个新的聚簇索引 D. 即使表存在唯一非空索引,也不能删除主键索引 【答案】B 【解析】 A错误:主键索引不能使用DROP INDEX直接删除(执行会报错),必须通过ALTER TABLE方式。 B正确:删除主键索引的正确语法是ALTER TABLE 表名 DROP PRIMARY KEY;。 C错误:删除主键索引后,InnoDB表会选择第一个唯一非空索引作为新的聚簇索引;如果不存在,InnoDB内部会生成一个隐藏的行ID列作为聚簇索引。 D错误:如果表存在唯一非空索引,删除主键后该唯一非空索引会成为新的聚簇索引,因此可以删除主键。 4.某DBA执行以下语句删除索引: DROP INDEX idx_email ON users; 系统返回错误:ERROR 1091 (42000): Can't DROP 'idx_email'; check that column/key exists 可能的原因是( )。 A. 当前用户没有删除索引的权限 B. 索引idx_email不存在于users表中 C. 索引idx_email是主键索引,不能使用DROP INDEX删除 D. 表users被锁定,无法删除索引 【答案】B 【解析】 A错误:若权限不足,错误信息通常是ERROR 1142 (42000): DROP INDEX command denied to user...。 B正确:错误码1091表示要删除的对象不存在。该索引可能拼写错误,或者未在users表中创建。 C错误:主键索引删除时报错为ERROR 1068 (42000): Multiple primary key defined或类似,而非1091。 D错误:表锁定导致的错误通常报告锁等待超时(ERROR 1205)或表被占用,而非索引不存在。 5.关于ALTER TABLE student DROP INDEX idx_age和DROP INDEX idx_age ON student两条语句,说法正确的是( )。 A. 只有第一种语法正确,第二种语法错误 B. 只有第二种语法正确,第一种语法错误 C. 两种语法都正确,且功能完全相同 D. 两种语法都正确,但第一种会同时删除表上的其他约束 【答案】C 【解析】 A、B错误:两种语法均在MySQL中支持,功能等价。 C正确:ALTER TABLE ... DROP INDEX和DROP INDEX ... ON都是删除索引的合法方式,删除效果相同。 D错误:ALTER TABLE ... DROP INDEX只删除索引,不会触碰其他约束。 6.某表product上存在一个唯一索引uniq_code,现在需要删除该索引。假设表中已有大量重复数据,执行DROP INDEX uniq_code ON product;会发生( )。 A. 数据库会先删除重复数据,再删除索引 B. 数据库会报错,提示存在重复值,无法删除唯一索引 C. 索引被成功删除,原有数据不受影响 D. 删除索引失败,因为表中存在重复值违反了唯一约束 【答案】C 【解析】 A错误:删除索引不会触发数据清理。 B错误:唯一索引的删除与表中当前数据是否唯一无关。唯一索引是约束,删除约束不会校验已有数据。即使有重复值,也可以正常删除唯一索引。 C正确:DROP INDEX仅删除索引结构,不检查数据一致性,执行后唯一约束消失,原有的重复数据依然存在。 D错误:同B。 二、填空题 1.在MySQL中,删除索引的标准语法是 ________索引名 ON 表名;。 【答案】 DROP INDEX 2.主键索引不能直接使用 DROP INDEX 删除,必须使用 ALTER TABLE 表名 ________ 语句来删除主键索引。 【答案】 DROP PRIMARY KEY 3.删除一个索引所需的权限是表的 ________ 权限,因为 DROP INDEX 语句在内部被MySQL重写为 ALTER TABLE ... DROP INDEX。 【答案】 ALTER 4.在InnoDB存储引擎中,执行 DROP INDEX 删除索引后,索引占用的磁盘空间被标记为 ________。 【答案】 可重用或空闲 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 编写说明:依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循"由浅入深、循序渐进"的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》第62练,内容是删除索引。 《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》 第62练 删除索引 一、单项选择题 1. 在MySQL中,用于删除索引的SQL语句是( )。 A. REMOVE INDEX B. DELETE INDEX C. DROP INDEX D. DROP CONSTRAINT 2.要将表student上的索引idx_name删除,以下写法正确的是( )。 A. DROP INDEX idx_name; B. DROP INDEX idx_name ON student; C. DELETE INDEX idx_name FROM student; D. ALTER TABLE student REMOVE INDEX idx_name; 3.关于删除主键索引的说法,下列选项中正确的是( )。 A. 主键索引可以直接使用DROP INDEX语句删除 B. 主键索引可以使用ALTER TABLE ... DROP PRIMARY KEY删除 C. 删除主键索引后,表将自动创建一个新的聚簇索引 D. 即使表存在唯一非空索引,也不能删除主键索引 4.某DBA执行以下语句删除索引: DROP INDEX idx_email ON users; 系统返回错误:ERROR 1091 (42000): Can't DROP 'idx_email'; check that column/key exists 可能的原因是( )。 A. 当前用户没有删除索引的权限 B. 索引idx_email不存在于users表中 C. 索引idx_email是主键索引,不能使用DROP INDEX删除 D. 表users被锁定,无法删除索引 5.关于ALTER TABLE student DROP INDEX idx_age和DROP INDEX idx_age ON student两条语句,说法正确的是( )。 A. 只有第一种语法正确,第二种语法错误 B. 只有第二种语法正确,第一种语法错误 C. 两种语法都正确,且功能完全相同 D. 两种语法都正确,但第一种会同时删除表上的其他约束 6.某表product上存在一个唯一索引uniq_code,现在需要删除该索引。假设表中已有大量重复数据,执行DROP INDEX uniq_code ON product;会发生( )。 A. 数据库会先删除重复数据,再删除索引 B. 数据库会报错,提示存在重复值,无法删除唯一索引 C. 索引被成功删除,原有数据不受影响 D. 删除索引失败,因为表中存在重复值违反了唯一约束 二、填空题 1.在MySQL中,删除索引的标准语法是 ________索引名 ON 表名;。 2.主键索引不能直接使用 DROP INDEX 删除,必须使用 ALTER TABLE 表名 ________ 语句来删除主键索引。 3.删除一个索引所需的权限是表的 ________ 权限,因为 DROP INDEX 语句在内部被MySQL重写为 ALTER TABLE ... DROP INDEX。 4.在InnoDB存储引擎中,执行 DROP INDEX 删除索引后,索引占用的磁盘空间被标记为 ________。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第62练 项目八 删除索引《数据库原理与应用技术-MySQL》(河北科学技术出版社)一课一练(河北省)
1
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。