当前位置: 首页 > news >正文

SQL-CRUD-1

第一关任务描述

本关任务:

  • 用insert给数据库添加数据

相关知识

有关系student(sno,sname,ssex,sage,sdept),属性对应含义:学号,姓名,性别,所在系。现有的部分元组如下所示

insert 向数据库表插入数据的基本格式有三种:R,S是关系名

  • 1.insert into R(属性列表) values (对应属性的值列表)
  • 2.insert into R values(对应关系默认属性的值列表)
  • 3.insert into R(属性列表) select 属性列表 from S R, S 可以是同一关系

编程要求

我们已经为你建好了数据库与数据表,并添加了相应的数据内容。 你只需根据右侧提示,完成以下任务:

  • 1.补全右侧代码片段中 第一题 下 Begin-End 区间的代码,实现功能:MA系新来一名学生,学号07002,姓名 lucy, 性别 F,年龄21,请用insert语句将该学生信息加入student。
  • 2.补全右侧代码片段中 第二题下 Begin-End 区间的代码,实现功能:新来一名学生,学号07003,姓名 Andy ,性别 F, 但尚未知道年龄, 也未确定分配到哪个系, 请插入已知信息到student。 。

  • 3.补全右侧代码片段中 第三题 下 Begin-End 区间的代码,实现功能:有一名学生学号是04005,其余信息与学号04003相同,请将学生信息插入表student。

注意:sql语句不区分大小写,但是元组的数据是区分大小写的。另外在Mysql中,字符串用""括起来。

测试说明

测试过程:

  • 本关涉及到的测试文件是 step1_test.sh ,平台将运行用户补全的 step1.sql 文件,得到数据;

  • 将得到的数据与答案比较,判断代码是否正确。

第一关实验代码

USE test_wyy_db_guet
GOSET NOCOUNT ON-- ********** Begin ********** --
-- ********** 此处写第一题的SQL语句 ********** --
insert into student values('07002','lucy','F',21,'MA');-- ********** End ********** --GO-- ********** Begin ********** --
-- ********** 此处写第二题的SQL语句 ********** --
insert into student(sno,sname,ssex) values('07003','Andy','F');
-- ********** End ********** --GO-- ********** Begin ********** --
-- ********** 此处写第三题的SQL语句 ********** --
insert into student(sno,sname,ssex,sage,sdept)select '04005',sname,ssex,sage,sdept from studentwhere sno='04003';
-- ********** End ********** --
GO--此处请不要随意修改
select * from studentGO

第二关任务描述

  • 使用update 修改关系中元组的值。
  • 基本格式: update R set 属性名A=属性值B where 条件C 将关系R中满足条件C的元组中的属性A的值修改为B

编程要求

  • 1.补全右侧代码片段中 第一题 下 Begin-End 区间的代码,将所有学生的年龄增加1岁;
  • 2.补全右侧代码片段中 第二题 下 Begin-End 区间的代码,IS系改名为TS了,请修改相应学生的信息。
  • 3.补全右侧代码片段中 第三题 下 Begin-End 区间的代码,MA系学生的学号前两位修改为08,其他不变. 学号长度为5,你们可以查阅right或substring函数,并用连接的方式得到新的学号。

使用的表结构: Student(Sno, Sname, Ssex, Sage, Sdept)

测试说明

测试过程:

  • 本关涉及到的测试文件是 step2_test.sh ,平台将运行用户补全的 step2.sql 文件,得到数据;

  • 将得到的数据与答案比较,判断代码是否正确。

第二关实验代码(right or substring)

USE test_wyy_db_guet
GoSET NOCOUNT ON-- ********** Begin ********** --
---------- 第一题----------
update student set sage=sage+1;
-- ********** End ********** --
GO-- ********** Begin ********** --
---------- 第二题----------
update student set sdept='TS' where sdept='IS';
-- ********** End ********** --
GO-- ********** Begin ********** --
---------- 第三题写法right----------
update student 
set sno = '08' + right(sno,len(sno)-len('08'))
where sdept like 'MA%';---------- 第三题写法substring----------
update student 
set sno = '08' + substring(sno,3,5)
where sdept like 'MA%';
-- ********** End ********** --
GO-- **********下面的语句请不要修改 ********** --
select * from student
GO

第三关任务描述

本关任务:使用 delete 删除符合条件的元组

相关知识

  • delete语句格式 delete from R where 条件C

编程要求

我们已经为你建好了数据库与数据表R,S,并添加了相应的数据内容。 R代表本科生导师, S代表研究生导师,属性列一样,如下:

 
  1. id varchar(20) not null,
  2. name varchar(30) not null,
  3. sex varchar(2) not null
  • 1.补全右侧代码片段中 第一题 下 Begin-End 区间的代码,删除id是1002 的本科生导师元组

  • 2.补全右侧代码片段中 第二题 下 Begin-End 区间的代码,删除研究生导师关系中,同时也是本科生导师,且性别为M的元组

  • 3.补全右侧代码片段中 第三题 下 Begin-End 区间的代码,删除姓名是A开头的本科生导师元组

测试说明

测试过程:

  • 本关涉及到的测试文件是 step3_test.sh ,平台将运行用户补全的 step3.sql 文件,得到数据;

  • 将得到的数据与答案比较,判断代码是否正确。

第三关实验代码

USE test_wyy_db_guet
GoSET NOCOUNT ON---------- 第一题 ----------
-- ********** Begin ********** --
delete from R where id='1002';-- ********** End ********** --GO---------- 第二题 ----------
-- ********** Begin ********** --
delete
from 
S
where id in
(select id from R where sex = 'M');-- ********** End ********** --GO---------- 第三题 ----------
-- ********** Begin ********** --
delete
from R
where name like 'A%';-- ********** End ********** --GO--********** 下面的语句请不要删除 ********** --
select id,name,sex from R
union all
select id,name,sex from S
GO

PS:
第三关的第二题查找id是因为其他属性均有可能重复(名字、性别);所以这里使用id而不用姓名。

http://www.lryc.cn/news/326993.html

相关文章:

  • linux 命令行下的计算器
  • Available platform plugins are: linuxfb, minimal, offscreen, vnc.
  • C++中string容器的修改操作
  • Elasticsearch:虚拟形象辅助和对话驱动的语音到 RAG 搜索
  • 测试开发工程师(QA)职业到底需要干些什么?part7:硬件测试工程师QA
  • Python基础:标准库 -- pprint (数据美化输出)
  • Visual Studio 小更新:改善变量的可见性
  • C++自主点餐系统
  • jconsole jvisualvm
  • python vtkUnstructuredGrid 转 vtkAlgorithmOutput_
  • IS-IS路由
  • 打造新质生产力,亚信科技2024年如何行稳致远?
  • 开源博客项目Blog .NET Core源码学习(12:App.Application项目结构分析)
  • AES加密解密算法
  • 计算机网络(05)
  • 6、ChatGLM3-6B 部署实践
  • python面试题(1~10)
  • 分类预测 | Matlab实现CNN-LSTM-Mutilhead-Attention卷积神经网络-长短期记忆网络融合多头注意力机制多特征分类预测
  • SQLServer CONCAT 函数的用法
  • python快速入门一
  • Elasticsearch 面试题及参考答案:深入解析与实战应用
  • 【ARM 嵌入式 C 入门及渐进 18 -- 字符数字转整形函数 atoi 介绍】
  • 全国超市数据可视化仪表板制作
  • react native 总结
  • 什么是自然语言处理(NLP)?自然语言处理(NLP)的概述
  • 共享旅游卡怎么使用?共享旅游卡的奥秘与魅力,解锁高效旅行的新方式
  • 使用yolov9来实现人体姿态识别估计(定位图像或视频中人体的关键部位)教程+代码
  • 「14」四个步骤,让你在直播间轻松演义你的教案……
  • 分解质因子
  • iOS18系统中,苹果可能不再使用Siri,转用Gemini