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

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

一、前言


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


二、所要使用表


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级
6010001 陈平 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.测试语句


1235bde754ac4eeda0f7624af37846f0.png


右键点击in_test表,选择“编辑前200行”,查看目前表内数据


44632be595c64cd7ba456e7ffc1f82e6.png


四、数据的导出


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


  • 右键选择数据库TeachingData后选择任务中的生成脚本


a3d9640dbacb4113a028fd4c1118d710.png


  • 在选择对象中选选择特定数据库对象后选择我们需要的表TchInfo、StuInfo


595e7dc87e164456a016a5e23b515557.png


  • 后续就是默认选择,如果需要可以更改一下保存的地址


bffd466b233d49b481aff248483e5d8d.png

01d26ee54b9a48cdb285720ffaa671d3.png

a6fb56b063d649ef91d011e517f90346.png


五、数据的导入


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


  • 点击左上角文件,选择打开中的文件,打开我们刚刚保存的sql文件


f8a9dec51ca548dfa77d91e371599eb3.png


871078d8b10644109952a544877413d8.png


  • 修改一下USE后数据库的名称,再执行


e85fcb98796744f4b098f16407fb44fd.png


  • 刷新一下数据库,查看是否创建成功


fbd6ea847ca84acaa80e1a643a126d3e.png


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


924d893b278e401894b31930b5c12d79.png


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


81aded17b829410a94b3e7edf22a2420.png


  • 选择复制所有数据


35bfc005ea044e6b88dc4de31462940b.png


  • 选择表TchInfo、StuInfo


f35daeb3646b4d5cbcfa986c99310632.png


  • 选择立即运行


a914c0ea9d834b6aac0eef38e0e64afa.png

283890c64b51401d93b036ebe1ffead4.png


  • 刷新一下数据库,对比两个数据库中表格数据是否相同


259aa9c4328e4ffc9e4a0e07e335a12f.png


六、表数据的修改


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

f09c44dd9bc443048cda9685615a8c21.png


4.测试代码


085bd8f711684d4c8e1b82220ba56502.png

b2f34dd8197749828ec3448fed9427f8.png


七、表数据的删除


1.题目


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


2.易错点


选中要删除的那行数据,delete键删除后出现报错,如下图所示


40fe6febb54149e4a507c784aea84234.png


3.错误原因


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


4.解决方法


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


5.测试


52bf98b4f24249c491cc4f51fc609e22.png

52bf98b4f24249c491cc4f51fc609e22.png


八、结语


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

相关文章
|
15天前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
在9月20日2024云栖大会上,阿里云智能集团副总裁,数据库产品事业部负责人,ACM、CCF、IEEE会士(Fellow)李飞飞发表《从数据到智能:Data+AI驱动的云原生数据库》主题演讲。他表示,数据是生成式AI的核心资产,大模型时代的数据管理系统需具备多模处理和实时分析能力。阿里云瑶池将数据+AI全面融合,构建一站式多模数据管理平台,以数据驱动决策与创新,为用户提供像“搭积木”一样易用、好用、高可用的使用体验。
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
|
17天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
56 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
14天前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
22天前
|
人工智能 Cloud Native 容灾
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
|
30天前
|
SQL 存储 关系型数据库
数据储存数据库管理系统(DBMS)
【10月更文挑战第11天】
85 3
|
28天前
|
存储 SQL 关系型数据库
【入门级教程】MySQL:从零开始的数据库之旅
本教程面向零基础用户,采用通俗易懂的语言和丰富的示例,帮助你快速掌握MySQL的基础知识和操作技巧。内容涵盖SQL语言基础(SELECT、INSERT、UPDATE、DELETE等常用语句)、使用索引提高查询效率、存储过程等。适合学生、开发者及数据库爱好者。
40 0
【入门级教程】MySQL:从零开始的数据库之旅
|
1月前
|
SQL 存储 关系型数据库
添加数据到数据库的SQL语句详解与实践技巧
在数据库管理中,添加数据是一个基本操作,它涉及到向表中插入新的记录
|
1月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
61 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
1月前
|
SQL 监控 数据处理
SQL数据库数据修改操作详解
数据库是现代信息系统的重要组成部分,其中SQL(StructuredQueryLanguage)是管理和处理数据库的重要工具之一。在日常的业务运营过程中,数据的准确性和及时性对企业来说至关重要,这就需要掌握如何在数据库中正确地进行数据修改操作。本文将详细介绍在SQL数据库中如何修改数据,帮助读者更好
187 4
|
1月前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
阿里云瑶池在2024云栖大会上重磅发布由Data+AI驱动的多模数据管理平台DMS:OneMeta+OneOps,通过统一、开放、多模的元数据服务实现跨环境、跨引擎、跨实例的统一治理,可支持高达40+种数据源,实现自建、他云数据源的无缝对接,助力业务决策效率提升10倍。