本专栏文章主要是争对博主在学习《数据库原理及应用》课程时老师布置的课后练习题做出的解答,如果遇到相同的题目建议看着本文自己动手实践一遍,这样才能加深印象。
如果想要了解数据库有关知识点的话,可以点击下方链接进行查看
本专栏地址【数据库练习题】
有关数据库的知识点请戳⏩【数据库知识点总结】
另一个正在更新的专栏【拼图小游戏(Java)】
本文主要是罗列了一些有关于数据更新操作的难题、易错题
StuInfo
SID | SName | Sex | Birthday | Dept | Major | Class | Grade |
---|---|---|---|---|---|---|---|
05000002 | 孙雯 | 女 | 1983-08-05 00:00:00 | 计算机系 | 计算机科学 | 计科1班 | 05级 |
05000004 | 苏小明 | 男 | 1984-12-21 00:00:00 | 计算机系 | 计算机科学 | 计科1班 | 05级 |
05000005 | 周小杰 | 男 | 1985-06-01 00:00:00 | 计算机系 | 计算机科学 | 计科1班 | 05级 |
05000006 | 李建国 | 男 | 1985-05-01 00:00:00 | 管理系 | 计算机科学 | 计科1班 | 05级 |
05010002 | 徐贺菁 | 女 | 1985-03-15 00:00:00 | 管理科学与工程系 | 信息管理 | 信管2班 | 05级 |
06010001 | 陈平 | 男 | 1986-05-10 00:00:00 | 管理科学与工程系 | 信息管理 | 信管1班 | 06级 |
07011103 | 林敏 | 女 | 1985-05-04 00:00:00 | 管理科学与工程系 | 多媒体 | NULL | NULL |
04000002 | 李华 | 男 | 1985-03-05 00:00:00 | 管理科学与工程系 | 信息管理 | 信管1班 | 05级 |
05000001 | 李丽 | 女 | 1985-07-24 00:00:00 | 计算机系 | 计算机科学与技术 | 计科1班 | 05级 |
TchInfo
TID | TName | Sex | Birthday | Title | Dep |
---|---|---|---|---|---|
00000001 | 黄贺贺 | 男 | 1977-01-15 00:00:00 | 讲师 | 基础部 |
01000001 | 王晓红 | 女 | 1958-01-01 00:00:00 | 副教授 | 计算机系 |
01000002 | 李小波 | 男 | 1959-08-11 00:00:00 | 教授 | 计算机系 |
01000003 | 谈华 | 男 | 1962-05-01 00:00:00 | 教授 | 计算机系 |
01000004 | 黄利敏 | 女 | 1976-03-21 00:00:00 | 讲师 | 计算机系 |
01000005 | 曹珊珊 | 女 | 1982-12-12 00:00:00 | 助讲 | 计算机系 |
01000909 | 王小小 | 女 | 1999-01-04 00:00:00 | 副教授 | 计算机系 |
01000991 | 王红 | 女 | 1956-01-01 00:00:00 | 教授 | 基础部 |
01000999 | 王多多 | 女 | 1979-01-04 00:00:00 | 副教授 | 基础部 |
02000002 | 李丽丽 | 女 | 1972-11-12 00:00:00 | 副教授 | 管理科学与工程系 |
通过SQL命令完成在in_test表中插入StuInfo表中全部女生的学号、姓名、系
StuInfo
表中筛选Sex = '女'
INSERET INTO 表名(属性)
INSERT INTO in_test(SID,SNAME,Dept) SELECT SID,SNAME,Dept FROM StuInfo WHERE Sex = '女'
右键点击in_test表,选择“编辑前200行”,查看目前表内数据
选择数据库TeachingData,将表TchInfo、StuInfo导出到SQL脚本文件中;注意:表中数据一起导出
编辑生成的脚本文件Script.sql并执行,使数据库School1利用脚本文件生成表TchInfo和StuInfo
创建成功后,要将teachingData中数据复制到School1的数据库中,右键选择teachingData后选择任务,导出数据
目标数据库选择题目中的School1
利用SQL语句在teachingData数据库的StuInfo表中,将ScoreInfo表中分数最高的学生其所在班级修改为“计科2班”
UPDATE StuInfo SET Class = '计科2班' WHERE ···
UPDATE StuInfo SET Class = '计科2班'
WHERE StuInfo.SID = ANY (SELECT StuInfo.SID FROM StuInfo GROUP BY StuInfo.SID
HAVING SID = ANY (SELECT SID FROM ScoreInfo GROUP BY SID,Score
HAVING SCore = (SELECT MAX(Score) FROM ScoreInfo)))
删除School数据库下Sinfo表中学号为21001001的学生
选中要删除的那行数据,delete键删除后出现报错,如下图所示
学号为21001001的学生在别的表中也有数据,如ScoreInfo表中也含有学号为21001001的学生
解决方法:先删除ScoreInfo表中学号为21001001的学生即可
如果有任何疑问或者文中问题可以留言评论