第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 删除索引后,索引占用的磁盘空间被标记为 ________。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
资源预览图
1
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。