《数据库原理与应用技术-MySQL》MySQL数据表管理(2)(举一反三考点练)-课后自测(卷1)

2025-10-10
| 2份
| 7页
| 146人阅读
| 0人下载

内容正文:

举一反三考点练 《数据库原理与应用技术-MySQL》MySQL数据表管理-课后自测 知识点一 修改数据表结构(ALTER TABLE) 1.(单项选择题)下列哪条语句可以在一次执行中把列 age 改为 INT 并移动到列 name 之后( ) A. ALTER TABLE student MODIFY age INT AFTER name; B. ALTER TABLE student CHANGE age age INT AFTER name; C. ALTER TABLE student MODIFY age AFTER name INT; D. ALTER TABLE student CHANGE age INT AFTER name; 2.(单项选择题)当表中已有 10 万行数据时,下列哪种操作最可能产生长时间锁表( ) A. ADD COLUMN new_col VARCHAR(20) B. RENAME TABLE tb TO tb_bak C. MODIFY col1 DECIMAL(10,2) D. DROP INDEX idx_old 3.(多项选择题)关于 ALTER TABLE 中 ADD 子句的用法,正确的有( ) A. 默认把新列加到表末尾 B. 可使用 FIRST 放到表头 C. 可使用 AFTER 指定参考列 D. 一次只能添加一列 4.(多项选择题)使用 CHANGE 子句时必须给出的信息有( ) A. 旧列名 B. 新列名 C. 新数据类型 D. 新默认值 5.(填空题)若要在 ALTER TABLE 语句中把存储引擎从 MyISAM 改为 InnoDB,应写的子句是 ENGINE=______; 6.(判断题)ALTER TABLE 一次只能使用一种操作子句,不能同时 ADD 和 DROP( ) 7.(判断题)对大表执行 MODIFY 修改字段长度时,线上环境应优先使用 pt-online-schema-change 工具以减少锁表时间( ) 知识点二 重命名与复制数据表 1.(单项选择题)下列哪种复制方式会在新表中丢失索引与外键定义( ) A. `CREATE TABLE t2 LIKE t1` B. `CREATE TABLE t2 AS SELECT * FROM t1` C. `RENAME TABLE t1 TO t2` D. 以上都会保留 2.(单项选择题)在 Navicat 中复制大型事务表且数据量很大,最安全的策略是( ) A. 高峰时段用“结构+数据”一次性复制 B. 夜间低峰期选择“仅结构”后分批导数 C. 直接用 `RENAME` 复制 D. 用 `DROP` 原表后再复制 3.(多项选择题)关于 `CREATE TABLE t2 AS SELECT * FROM t1`,下列描述正确的有( ) A. 新表默认使用原表引擎 B. 新表会丢失原表索引 C. 可对 SELECT 加 WHERE 条件 D. 新表字段注释同样被复制 4.(多项选择题)使用 `RENAME TABLE` 进行灰度发布时,应满足的前提有( ) A. 新旧表结构完全一致 B. 应用端连接使用表别名或配置 C. 拥有两表的 ALTER 和 DROP 权限 D. 操作前关闭外键检查 5.(填空题)若想复制表结构并自动带上主键、索引,但不需要数据,最佳命令是 `CREATE TABLE 新表 ______ 旧表;`。 6.(判断题)`CREATE TABLE t2 AS SELECT * FROM t1 LIMIT 0` 也能实现只复制结构不复制数据的效果,且索引一同复制。( ) 7.(判断题)Navicat 的“复制表”向导可以一键完成结构+索引+数据的复制,并自动修正外键依赖。( ) 知识点三 删除数据表(DROP TABLE) 1.(单项选择题)以下哪种权限是执行 DROP TABLE 所必需的( ) A. SELECT B. DROP C. INSERT D. UPDATE 2.(单项选择题)在 Navicat 中一次性删除多张表,正确的操作是( ) A. 按住 Ctrl 多选后右键“删除表” B. 在查询窗口写多条 DROP TABLE C. 无法图形化批量删除 D. 只能先 RENAME 再逐个删除 3.(多项选择题)关于 DROP TABLE 产生的后果,下列说法正确的有( ) A. 表结构、数据、索引全部丢失 B. 触发器定义会被自动删除 C. 依赖该表的视图将失效 D. 二进制日志会记录删除事件 4.(多项选择题)以下哪些方式可以在误删表后尝试恢复数据( ) A. 使用全备 + binlog 点位恢复 B. 从延迟从库导出表 C. 利用 undo 表空间回滚 D. 使用第三方 binlog2sql 工具生成反向 SQL 5.(填空题)线上安全规范推荐:先执行 ALTER TABLE 原表__________ TO 新表名,观察无业务访问后再 DROP。 6.(判断题)执行 DROP TABLE IF EXISTS temp_table; 时,若 temp_table 是临时表,则该语句将只删除当前会话的临时表( ) 7.(判断题)在 MySQL 中,只要拥有库的 REFERENCES 权限,就可以不需要 DROP 权限而直接删除该库中的任何表( ) 原创精品资源学科网独家享有版权,侵权必究!2 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 举一反三考点练 《数据库原理与应用技术-MySQL》MySQL数据表管理-课后自测 知识点一 修改数据表结构(ALTER TABLE) 1.(单项选择题)下列哪条语句可以在一次执行中把列 age 改为 INT 并移动到列 name 之后( ) A. ALTER TABLE student MODIFY age INT AFTER name; B. ALTER TABLE student CHANGE age age INT AFTER name; C. ALTER TABLE student MODIFY age AFTER name INT; D. ALTER TABLE student CHANGE age INT AFTER name; 【答案】B 【解析】CHANGE 需写“旧名 新名 新类型 位置”;MODIFY 不能改列名。 2.(单项选择题)当表中已有 10 万行数据时,下列哪种操作最可能产生长时间锁表( ) A. ADD COLUMN new_col VARCHAR(20) B. RENAME TABLE tb TO tb_bak C. MODIFY col1 DECIMAL(10,2) D. DROP INDEX idx_old 【答案】C 【解析】MODIFY 需重建聚集索引,数据量大时锁表最久;ADD、RENAME、DROP INDEX 多为元数据变更。 3.(多项选择题)关于 ALTER TABLE 中 ADD 子句的用法,正确的有( ) A. 默认把新列加到表末尾 B. 可使用 FIRST 放到表头 C. 可使用 AFTER 指定参考列 D. 一次只能添加一列 【答案】ABC 【解析】ADD 可多条同时执行,一次可多加列;FIRST/AFTER 控制位置。 4.(多项选择题)使用 CHANGE 子句时必须给出的信息有( ) A. 旧列名 B. 新列名 C. 新数据类型 D. 新默认值 【答案】ABC 【解析】CHANGE 语法:CHANGE 旧名 新名 新类型;默认值可缺省。 5.(填空题)若要在 ALTER TABLE 语句中把存储引擎从 MyISAM 改为 InnoDB,应写的子句是 ENGINE=______; 【答案】InnoDB 【解析】ALTER TABLE … ENGINE=InnoDB 可在线改引擎。 6.(判断题)ALTER TABLE 一次只能使用一种操作子句,不能同时 ADD 和 DROP( ) 【答案】× 【解析】MySQL 允许同一条 ALTER TABLE 中写多个子句,用逗号分隔,如 ADD …, DROP …。 7.(判断题)对大表执行 MODIFY 修改字段长度时,线上环境应优先使用 pt-online-schema-change 工具以减少锁表时间( ) 【答案】√ 【解析】pt-osc 采用触发器拷贝方式,可避免全程锁表,是运维最佳实践。 知识点二 重命名与复制数据表 1.(单项选择题)下列哪种复制方式会在新表中丢失索引与外键定义( ) A. `CREATE TABLE t2 LIKE t1` B. `CREATE TABLE t2 AS SELECT * FROM t1` C. `RENAME TABLE t1 TO t2` D. 以上都会保留 【答案】B 【解析】`AS SELECT` 只生成包含结果集的新表,需手动补充索引与外键。 2.(单项选择题)在 Navicat 中复制大型事务表且数据量很大,最安全的策略是( ) A. 高峰时段用“结构+数据”一次性复制 B. 夜间低峰期选择“仅结构”后分批导数 C. 直接用 `RENAME` 复制 D. 用 `DROP` 原表后再复制 【答案】B 【解析】大表全量复制会产生大量 redo,夜间低峰分批操作可降低性能影响。 3.(多项选择题)关于 `CREATE TABLE t2 AS SELECT * FROM t1`,下列描述正确的有( ) A. 新表默认使用原表引擎 B. 新表会丢失原表索引 C. 可对 SELECT 加 WHERE 条件 D. 新表字段注释同样被复制 【答案】BC 【解析】`AS SELECT` 不复制索引、外键与注释;SELECT 可带条件;引擎默认继承服务器默认,而非原表。 4.(多项选择题)使用 `RENAME TABLE` 进行灰度发布时,应满足的前提有( ) A. 新旧表结构完全一致 B. 应用端连接使用表别名或配置 C. 拥有两表的 ALTER 和 DROP 权限 D. 操作前关闭外键检查 【答案】ABD 【解析】灰度切换要求结构一致、应用配置可热切换,并建议 `SET FOREIGN_KEY_CHECKS=0` 避免外键阻碍;只需对表有 ALTER 权限即可。 5.(填空题)若想复制表结构并自动带上主键、索引,但不需要数据,最佳命令是 `CREATE TABLE 新表 ______ 旧表;`。 【答案】`LIKE` 【解析】`LIKE` 可完整复制定义及索引,不复制数据行。 6.(判断题)`CREATE TABLE t2 AS SELECT * FROM t1 LIMIT 0` 也能实现只复制结构不复制数据的效果,且索引一同复制。( ) 【答案】× 【解析】`LIMIT 0` 虽无数据,但仍不复制索引与外键,与 `LIKE` 有本质区别。 7.(判断题)Navicat 的“复制表”向导可以一键完成结构+索引+数据的复制,并自动修正外键依赖。( ) 【答案】× 【解析】Navicat 可复制结构与数据,但外键需手动重新添加,软件不会自动修正依赖关系。 知识点三 删除数据表(DROP TABLE) 1.(单项选择题)以下哪种权限是执行 DROP TABLE 所必需的( ) A. SELECT B. DROP C. INSERT D. UPDATE 【答案】B 【解析】MySQL 权限系统要求对目标表拥有 DROP 权限。 2.(单项选择题)在 Navicat 中一次性删除多张表,正确的操作是( ) A. 按住 Ctrl 多选后右键“删除表” B. 在查询窗口写多条 DROP TABLE C. 无法图形化批量删除 D. 只能先 RENAME 再逐个删除 【答案】A 【解析】Navicat 支持 Ctrl 多选后右键批量删除,并统一确认。 3.(多项选择题)关于 DROP TABLE 产生的后果,下列说法正确的有( ) A. 表结构、数据、索引全部丢失 B. 触发器定义会被自动删除 C. 依赖该表的视图将失效 D. 二进制日志会记录删除事件 【答案】ACD 【解析】触发器定义随表一起被删除;视图不会自动删除,但会失效;Binlog 会记录 DDL。 4.(多项选择题)以下哪些方式可以在误删表后尝试恢复数据( ) A. 使用全备 + binlog 点位恢复 B. 从延迟从库导出表 C. 利用 undo 表空间回滚 D. 使用第三方 binlog2sql 工具生成反向 SQL 【答案】ABD 【解析】DROP 是 DDL,不会写入 undo,无法回滚;其余为常见恢复方案。 5.(填空题)线上安全规范推荐:先执行 ALTER TABLE 原表__________ TO 新表名,观察无业务访问后再 DROP。 【答案】RENAME 【解析】RENAME 可实现快速改名观察,降低误删风险。 6.(判断题)执行 DROP TABLE IF EXISTS temp_table; 时,若 temp_table 是临时表,则该语句将只删除当前会话的临时表( ) 【答案】√ 【解析】TEMPORARY 关键字可省略,IF EXISTS 同样适用于临时表,且仅影响当前会话。 7.(判断题)在 MySQL 中,只要拥有库的 REFERENCES 权限,就可以不需要 DROP 权限而直接删除该库中的任何表( ) 【答案】× 【解析】REFERENCES 仅用于外键依赖检查,不能替代 DROP 权限;删除表仍需 DROP 权限。 原创精品资源学科网独家享有版权,侵权必究!2 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

《数据库原理与应用技术-MySQL》MySQL数据表管理(2)(举一反三考点练)-课后自测(卷1)
1
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。