内容正文:
举一反三考点练
《数据库原理与应用技术-MySQL》MySQL数据表管理-课后自测
知识点一 修改数据表结构(ALTER TABLE)
1.(SQL 语句题)当前数据库为 db_school,请在学生表 t_student 中新增字段 birth_day DATE,要求放在 stusex 列之后,写出完整 SQL。
2.(SQL 语句题)把 t_student 表中的 stuname 字段长度改为 VARCHAR(40) 并移到 stuid 列之后,用一条 SQL 完成。
3.(程序填空题)补全脚本,将字段 photo 从 t_student 表中删除。
ALTER TABLE t_student ________ photo;
4.(程序填空题)补全脚本,把 t_score 表的存储引擎改为 InnoDB,字符集改为 utf8mb4。
ALTER TABLE t_score ________=InnoDB ________=utf8mb4;
5.(综合应用题)环境:localhost:3306,root,密码空,已存在 db_exam。
t_question
id
content
qtype
old_col
1
计算机由哪几部分组成?
选择
a
2
列出数据库三大范式
简答
b
3
证明时间复杂度O(n log n)
计算
c
4
NULL
判断
d
请按顺序完成:
① 在 t_question 表新增列 difficulty ENUM('易','中','难') NOT NULL DEFAULT '中',放在列 content 之后;
② 把列 qtype 改名为 type_name,类型保持 VARCHAR(20) 不变;
③ 删除无用列 old_col。
请写出 3 条 SQL。
知识点二 重命名与复制数据表
1.(SQL 语句题)将当前库的 t_log 表重命名为 t_log_2024,写出 SQL。
2.(SQL 语句题)跨库重命名:把 db_test 库的 temp 表移到 db_backup 库并改名为 tempbak,写出 SQL。
3.(程序填空题)仅复制表结构,补全关键字。
CREATE TABLE new_student ________ old_student;
4.(程序填空题)复制表结构及数据,补全关键字。
CREATE TABLE student_copy ________ SELECT * FROM student;
5.(综合应用题)中职教务系统升级需求:
t_course表
id
name
create_time
1
高等数学
2024/6/1 8:00
2
英语
2024/6/1 9:00
3
物理
2024/5/30 0:00
① 用 SQL 创建空结构备份表 t_course_bak(结构同 t_course);
② 把当日数据(假设 2024-06-01)复制到备份表;
③ 将原表重命名为 t_course_old,再把备份表重命名为 t_course,实现零停机切换。
请顺序写出 3 条 SQL。
知识点三 删除数据表(DROP TABLE)
1.(SQL 语句题)删除当前库中的临时表 temp_order,若不存在则不报错,写出 SQL。
2.(SQL 语句题)一次性删除 db_cache 库内的 temp1、temp2 两张表,写出 SQL。
3.(程序填空题)删除表前若想忽略外键检查,请补全语句。
SET ________ = 0;
DROP TABLE temp_log;
4.(程序填空题)在 Navicat 图形界面删除表时,其底层实际执行的 SQL 模板如下,请补全关键字。
__________ TABLE t_bak;
5.(综合应用题)场景:中职校园网管理系统需清理测试数据,要求:
t_test 表
id
item_name
test_value
create_time
1
端口扫描
0.87
2023/12/1 10:11
2
带宽测速
95.4
2023/12/1 10:15
3
日志写入
2000
2023/12/1 11:00
① 先 RENAME 观察 24h,把 t_test 改名为 t_test_bak;
② 确认无访问后,用 SQL 删除备份表;
③ 删除前关闭外键检查,删除后立即开启。
请写出 3 步对应 SQL。
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
举一反三考点练
《数据库原理与应用技术-MySQL》MySQL数据表管理-课后自测
知识点一 修改数据表结构(ALTER TABLE)
1.(SQL 语句题)当前数据库为 db_school,请在学生表 t_student 中新增字段 birth_day DATE,要求放在 stusex 列之后,写出完整 SQL。
【答案】ALTER TABLE t_student ADD birth_day DATE AFTER stusex;
2.(SQL 语句题)把 t_student 表中的 stuname 字段长度改为 VARCHAR(40) 并移到 stuid 列之后,用一条 SQL 完成。
【答案】ALTER TABLE t_student CHANGE stuname stuname VARCHAR(40) AFTER stuid;
3.(程序填空题)补全脚本,将字段 photo 从 t_student 表中删除。
ALTER TABLE t_student ________ photo;
【答案】DROP
4.(程序填空题)补全脚本,把 t_score 表的存储引擎改为 InnoDB,字符集改为 utf8mb4。
ALTER TABLE t_score ________=InnoDB ________=utf8mb4;
【答案】ENGINE;CHARSET
5.(综合应用题)环境:localhost:3306,root,密码空,已存在 db_exam。
t_question
id
content
qtype
old_col
1
计算机由哪几部分组成?
选择
a
2
列出数据库三大范式
简答
b
3
证明时间复杂度O(n log n)
计算
c
4
NULL
判断
d
请按顺序完成:
① 在 t_question 表新增列 difficulty ENUM('易','中','难') NOT NULL DEFAULT '中',放在列 content 之后;
② 把列 qtype 改名为 type_name,类型保持 VARCHAR(20) 不变;
③ 删除无用列 old_col。
请写出 3 条 SQL。
【答案】
① ALTER TABLE t_question ADD difficulty ENUM('易','中','难') NOT NULL DEFAULT '中' AFTER content;
② ALTER TABLE t_question CHANGE qtype type_name VARCHAR(20);
③ ALTER TABLE t_question DROP old_col;
操作后(t_question 最终)
id
content
difficulty
type_name
1
计算机由哪几部分组成?
易
选择
2
列出数据库三大范式
中
简答
3
证明时间复杂度O(n log n)
难
计算
4
NULL
中
判断
知识点二 重命名与复制数据表
1.(SQL 语句题)将当前库的 t_log 表重命名为 t_log_2024,写出 SQL。
【答案】RENAME TABLE t_log TO t_log_2024;
2.(SQL 语句题)跨库重命名:把 db_test 库的 temp 表移到 db_backup 库并改名为 tempbak,写出 SQL。
【答案】RENAME TABLE db_test.temp TO db_backup.tempbak;
3.(程序填空题)仅复制表结构,补全关键字。
CREATE TABLE new_student ________ old_student;
【答案】LIKE
4.(程序填空题)复制表结构及数据,补全关键字。
CREATE TABLE student_copy ________ SELECT * FROM student;
【答案】AS
5.(综合应用题)中职教务系统升级需求:
t_course表
id
name
create_time
1
高等数学
2024/6/1 8:00
2
英语
2024/6/1 9:00
3
物理
2024/5/30 0:00
① 用 SQL 创建空结构备份表 t_course_bak(结构同 t_course);
② 把当日数据(假设 2024-06-01)复制到备份表;
③ 将原表重命名为 t_course_old,再把备份表重命名为 t_course,实现零停机切换。
请顺序写出 3 条 SQL。
【答案】
① CREATE TABLE t_course_bak LIKE t_course;
② INSERT INTO t_course_bak SELECT * FROM t_course WHERE date(create_time)='2024-06-01';
③ RENAME TABLE t_course TO t_course_old, t_course_bak TO t_course;
知识点三 删除数据表(DROP TABLE)
1.(SQL 语句题)删除当前库中的临时表 temp_order,若不存在则不报错,写出 SQL。
【答案】DROP TABLE IF EXISTS temp_order;
2.(SQL 语句题)一次性删除 db_cache 库内的 temp1、temp2 两张表,写出 SQL。
【答案】DROP TABLE db_cache.temp1, db_cache.temp2;
3.(程序填空题)删除表前若想忽略外键检查,请补全语句。
SET ________ = 0;
DROP TABLE temp_log;
【答案】FOREIGN_KEY_CHECKS
4.(程序填空题)在 Navicat 图形界面删除表时,其底层实际执行的 SQL 模板如下,请补全关键字。
__________ TABLE t_bak;
【答案】DROP
5.(综合应用题)场景:中职校园网管理系统需清理测试数据,要求:
t_test 表
id
item_name
test_value
create_time
1
端口扫描
0.87
2023/12/1 10:11
2
带宽测速
95.4
2023/12/1 10:15
3
日志写入
2000
2023/12/1 11:00
① 先 RENAME 观察 24h,把 t_test 改名为 t_test_bak;
② 确认无访问后,用 SQL 删除备份表;
③ 删除前关闭外键检查,删除后立即开启。
请写出 3 步对应 SQL。
【答案】
① RENAME TABLE t_test TO t_test_bak;
② SET FOREIGN_KEY_CHECKS=0; DROP TABLE IF EXISTS t_test_bak;SET FOREIGN_KEY_CHECKS=1;
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$