数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)

本专栏文章主要是争对博主在学习《数据库原理及应用》课程时老师布置的课后练习题做出的解答,如果遇到相同的题目建议看着本文自己动手实践一遍,这样才能加深印象。
如果想要了解数据库有关知识点的话,可以点击下方链接进行查看
本专栏地址【数据库练习题】
有关数据库的知识点请戳⏩【数据库知识点总结】
另一个正在更新的专栏【拼图小游戏(Java)】

文章目录

  • 一、前言
  • 二、所要使用表
  • 三、表数据的插入
    • 1.题目
    • 2.思路
    • 3.完整语句
    • 4.测试语句
  • 四、数据的导出
  • 五、数据的导入
  • 六、表数据的修改
    • 1.题目
    • 2.思路
    • 3.完整语句
    • 4.测试代码
  • 七、表数据的删除
    • 1.题目
    • 2.易错点
    • 3.错误原因
    • 4.解决方法
    • 5.测试
  • 八、结语

一、前言

本文主要是罗列了一些有关于数据更新操作的难题、易错题

二、所要使用表

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 副教授 管理科学与工程系

三、表数据的插入

1.题目

通过SQL命令完成在in_test表中插入StuInfo表中全部女生的学号、姓名、系

2.思路

  • StuInfo表中筛选
  • 筛选条件:Sex = '女'
  • 所需属性:学号、姓名、系
  • 插入命令:INSERET INTO 表名(属性)

3.完整语句

INSERT INTO in_test(SID,SNAME,Dept) SELECT SID,SNAME,Dept FROM StuInfo WHERE Sex = '女'

4.测试语句

数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第1张图片
右键点击in_test表,选择“编辑前200行”,查看目前表内数据
数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第2张图片

四、数据的导出

选择数据库TeachingData,将表TchInfo、StuInfo导出到SQL脚本文件中;注意:表中数据一起导出

  • 右键选择数据库TeachingData后选择任务中的生成脚本
    数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第3张图片
  • 在选择对象中选选择特定数据库对象后选择我们需要的表TchInfo、StuInfo
    数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第4张图片
  • 后续就是默认选择,如果需要可以更改一下保存的地址
    数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第5张图片

数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第6张图片
在这里插入图片描述

五、数据的导入

编辑生成的脚本文件Script.sql并执行,使数据库School1利用脚本文件生成表TchInfo和StuInfo

  • 点击左上角文件,选择打开中的文件,打开我们刚刚保存的sql文件
    数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第7张图片

数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第8张图片

  • 修改一下USE后数据库的名称,再执行
    数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第9张图片

  • 刷新一下数据库,查看是否创建成功
    数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第10张图片

  • 创建成功后,要将teachingData中数据复制到School1的数据库中,右键选择teachingData后选择任务导出数据

  • 数据源选择teachingData
    数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第11张图片

  • 目标数据库选择题目中的School1

数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第12张图片

  • 选择复制所有数据
    数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第13张图片
  • 选择表TchInfo、StuInfo
    数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第14张图片
  • 选择立即运行
    数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第15张图片

数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第16张图片

  • 刷新一下数据库,对比两个数据库中表格数据是否相同
    数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第17张图片

六、表数据的修改

1.题目

利用SQL语句在teachingData数据库的StuInfo表中,将ScoreInfo表中分数最高的学生其所在班级修改为“计科2班”

2.思路

  • 更新数据:UPDATE StuInfo SET Class = '计科2班' WHERE ···
  • 筛选条件:StuInfo.SID = 分数最高的学生SID
  • 学生SID要从StuInfo表中获取
  • SID的条件:从ScoreInfo表中查找分数最高的学生的SID

3.完整语句

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)))

数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第18张图片

4.测试代码

数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第19张图片
数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第20张图片

七、表数据的删除

1.题目

删除School数据库下Sinfo表中学号为21001001的学生

2.易错点

选中要删除的那行数据,delete键删除后出现报错,如下图所示
数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)_第21张图片

3.错误原因

学号为21001001的学生在别的表中也有数据,如ScoreInfo表中也含有学号为21001001的学生

4.解决方法

解决方法:先删除ScoreInfo表中学号为21001001的学生即可

5.测试

在这里插入图片描述
在这里插入图片描述

八、结语

如果有任何疑问或者文中问题可以留言评论

你可能感兴趣的:(#,数据库练习题,数据库,sql,mysql)