MySQL增删改查语句练习(grade表,student表,subjects表,result表)

news2025/7/17 18:12:23

目录

问题描述

问题分析

1. 添加操作

2. 修改操作

3. 删除操作

问题实现

1. 添加测试数据

2. 根据题目要求完成crud操作

1. 将地址是西安市的更新为西安科技二路

2. 将S1001的email修改为空的字符串

3. 将第二门课的名字更新为 java基础,课时为60 ,班级编号是2

4. 将S1001,课程编号为 2 的成绩提高5分

5. 将 S1004,课程编号为3 的成绩更新为60,考试时间更新为 2015-10-10

6. 经核实 S1004 课程编号为2 的缺考

7. 将计算机网络课程删除掉


问题描述

根据上一篇MySQL的建表练习中的练习三,所建的四张表(grade表,student表,subjects表,result表),我们添加测试数据完成已下操作:

1. 将地址是西安市的更新为西安科技二路

2. 将S1001的email修改为空的字符串

3. 将第二门课的名字更新为 java基础,课时为60 ,班级编号是2

4. 将S1001,课程编号为 2 的成绩提高5分

5. 将 S1004,课程编号为3 的成绩更新为60,考试时间更新为 2015-10-10

6. 经核实 S1004 课程编号为2 的缺考

7. 将计算机网络课程删除掉

上一篇文章链接:

MySQL数据库基础:数据库基础知识,MySQL数据库及配置安装_不会敲代码的HZ的博客-CSDN博客icon-default.png?t=M85Bhttps://blog.csdn.net/weixin_51612062/article/details/127850829?spm=1001.2014.3001.5501


问题分析

根据题目我们需要对数据表进行插入、修改、删除操作,那我我们来看看这些操作的语法。

1. 添加操作

插入单条数据:

-- 方法1
insert into 表名 values(value1, value2, ..., valuen);
-- 方法2
insert into 表名(col1, col2, ..., coln) values(value1, value2, ..., valuen);

注意:若不指定字段名列表,值列表与插入的表中的列一一对 应【个数对应,类型对应】;若指定字段名列表,值列表与列举出的列保持一致。插入的记录不能违反约束。

插入多条数据:

insert into 表名 values(valuelist1_val1, valuelist1_val2), (valuelist2_val1, valuelist2_val2);

2. 修改操作

update 表名 set 字段名1=value1, 字段名2=value2 [where 条件];

注意:[]括起来的部分可以指定也可不指定。若不指定,则更新全部;指定则只更新符合条件的数据。

3. 删除操作

DELETE FROM 表名 [WHERE 条件];

注意:删除同上,若不指定则删除所有行记录;指定则只删除指定行数据。


问题实现

1. 添加测试数据

use myschool;

-- 添加测试数据
-- 1.grade表
select * from grade; -- 查看表中数据
desc grade; -- 查看表结构
insert into grade values(2, '二年级'), (3, '三年级');
-- 2.student表
select * from student;
desc student;
insert into student values('s1002', '123456', '张三', '男', 1, '18791112222', '西安市', '2000-01-02', 'zs@163.com'), 
	('s1003', '123456', '李四', '女', 2, '13511112222', '西安市', '2000-01-02', 'ls@163.com'),
	('s1004', '123456', '王麻子', '男', 2, '18912342222', '西安市', '2000-01-02', 'wmz@163.com');
	
select * from subjects;
desc subjects;
insert into subjects values(2, 'JavaWeb后端开发', 50, 1);
insert into subjects values(3, '计算机网络', 50, 2);

select * from result;
desc result;
insert into result values(2, 's1002', 1, 65, '2022-10-20'),
	(3, 's1001', 2, 90, '2022-10-21'),
	(4, 's1002', 2, 80, '2022-10-21'),
	(5, 's1003', 3, 92, '2022-10-22'),
	(6, 's1004', 3, 0, '2022-10-22');

各个表测试数据如下

grade表:

student表:

subjects表:

result表:

2. 根据题目要求完成crud操作

1. 将地址是西安市的更新为西安科技二路

update student set Address='西安科技二路' where Address='西安市';

2. 将S1001的email修改为空的字符串

update student set Email='' where StudentNo='s1001';

3. 将第二门课的名字更新为 java基础,课时为60 ,班级编号是2

update subjects set SubjectName='java基础', ClassHour=60, GradeId=2 where SubjectId=2;

4. 将S1001,课程编号为 2 的成绩提高5分

update result set StudentResult=StudentResult+5 where StudentNo='s1001' and SubjectId=2;

5. 将 S1004,课程编号为3 的成绩更新为60,考试时间更新为 2015-10-10

update result set StudentResult=60, ExamDate='2015-10-10' where StudentNo='s1004' and SubjectId=3;

6. 经核实 S1004 课程编号为2 的缺考

这里测试数据我们少考虑了这一条,我们先插入一条数据。

insert into result values(7, 's1004', 2, 0, '2022-10-20');
update result set StudentResult=null where StudentNo='s1004' and SubjectId=2;

7. 将计算机网络课程删除掉

这里因为要删除的数据是一个父表 Subjects 的一行记录,其还有子表 Result。直接删除会报如下错误:Cannot delete or update a parent row

所以应该先删除子表中关于计算机网络课程的记录,才能删除父表中记录。

delete from result where SubjectId=(SELECT SubjectId FROM subjects WHERE SubjectName='计算机网络');
delete from subjects where SubjectName='计算机网络';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/6818.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于ssm的固定收益营销系统设计与实现(ERP系统)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

5进程创建FORK

文章目录1. fork函数初识2. fork函数返回值1. fork函数初识 fork函数的作用从已存在的进程中创建一个新的进程,而新进程被称为子进程,原进程称为父进程,我们先看一下当执行fork后会发生什么. 分配新的内存块和内核数据结构给子进程将父进程部分数据结构内容拷贝至子进程添加子…

数据库管理系统

简介 数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称 DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。[2] 数据库管理系统是一个能够提供数据录入、修改、查询的数据操作软件&…

MySQL约束和表的复杂查询操作

✨博客主页: 心荣~ ✨系列专栏:【MySQL】 ✨一句短话: 难在坚持,贵在坚持,成在坚持! 文章目录一. 数据库约束1. 数据库常用约束2. not null 约束3. unique约束4. default设置默认值5. primary key约束6. 分库分表下的自增主键7. foreign key约束8. 主键,外键,uniqe运用原理二. …

Android App开发中使用Glide加载网络图片讲解及实战(附源码 简单易懂)

运行有问题或需要源码请点赞关注收藏~~~ 一、使用Glide加载网络图片 对于如何方便快速的显示网络图片,谷歌开发了自己的Glide开源库,同样我们需要在bulid.gradle中引入如下依赖 implementationcom.github.bumptech.glide:glide:4.11.0 Glide用法如下 G…

攻防世界-misc-流量分析1

下载附件,获得一个流量包 wireshark打开 随便选择一个,追踪tcp流 把请求包url解码看看是什么操作 还存在url编码,继续解码 GET /index.php?urlgopher://127.0.0.1:80/_POST /admin.php HTTP/1.1 Host: localhost:80 Connection: close Conte…

SpringBoot+@Validated实现参数验证(非空、类型、范围、格式等)-若依前后端导入Excel数据并校验为例

场景 若依管理系统前后端分离版基于ElementUI和SpringBoot怎样实现Excel导入和导出: 若依管理系统前后端分离版基于ElementUI和SpringBoot怎样实现Excel导入和导出_霸道流氓气质的博客-CSDN博客 SpringBootVue实现excel导入带格式化的时间参数(moment格式化明天日…

使用image-map编写校区平面示意图

一、效果图 先上一波效果图,手机录制 二、项目中用到的图片 呐,最近领导让俺帮某学校做一个校区平面示意图的移动端项目,用到的图片就是这样的,不过这是截的图片,放大后会模糊,项目中真正使用的图片有6…

HazelEngine 学习记录 - Profiling

Profiling Intro To Profiling 为了能够清晰的观察整个引擎的性能消耗情况,我们需要一个可视化的工具来进行性能分析,例如 Unity 的内置 Profiler: 其实本质就是将每个函数运行的时间进行可视化,这里我们借用标准库 chrono 来进…

笔记本电脑没有声音如何解决

​笔记本电脑没有声音的现象,也是笔记本电脑的常见运用病况之一,遇到这种情况的话,大家是否知道如何处理呢?下面小编来跟大家说说笔记本电脑没有声音解决方法,希望可以帮助到大家。 工具/原料: 系统版本:windows10系统 品牌型…

python--谷歌恐龙快跑小项目

用300行代码左右实现谷歌休闲的恐龙快跑游戏! 主函数: import sys import math import time import random import pygame from pygame.locals import * from Scene import Scene from Obstacle import Plant, Ptera from Dinosaur import Dinosaur #…

嵌入式开发:当用微控制器构建嵌入式GUI时,有哪些注意事项

在嵌入式开发中,借助基于MCU的设计,你可以消除额外的RAM和闪存芯片,并使用板载外设而不是板外逻辑,所有这些都将随着当今功能强大的芯片而变得更加简单。当然,与成熟的微处理器相比,MCU本身也提供了额外的成…

【校内篇】如何安装一台虚拟机

咱们的微机老师要求上微机课用的电脑必须要用 Windows7Windows\ 7Windows 7,但是很多同学的电脑也许并不匹配,造成了诸多不便。 作为班长,我觉得有必要把自己的一些技术共享给大家,方便大家使用。 文章目录一、准备材料&#x1f6…

如何扩大电脑c盘分区,c盘空间不足怎么扩容

当电脑使用一段时间后,C盘会存储一定的数据,包括操作系统以及其他的文件。在实际的运用中,许多应用程序的默认下载路径就是C盘,如果用户没有更改为其他磁盘,会导致C盘的空间越来越小,电脑越来越卡顿。从根源…

【C版本】静态通讯录与动态通讯录的实现,以及各自所存在的缺陷对比。(含所有原码)

目录静态版本通讯录前期思路具体实现1、框架2、初始化通讯录3、增加联系人4、显示已有联系人5、查找联系人6、删除指定联系人7、排序联系人8、修改联系人信息9、清空联系人静态版本通讯录存在的缺陷动态版本通讯录(静态版本的部分功能发生改动)初始化增加…

优雅的使用Webstack打造个人网址导航

原文链接:优雅的使用Webstack打造个人网址导航 前言 一款基于 WebStackPage 的 Hexo 主题。本人选择的是 hexo-theme-webstack。 效果预览 具体效果请移步 个人网址导航。 步骤 在目标路径(我这里选的路径为【D:/studytype/My_Blog】)打开…

基于C#制作一个桌面宠物

此文主要基于C#制作一个桌面宠物,可自定义宠物素材图片及打开外部exe的快捷菜单。 实现流程1.1、创建项目1.2、准备素材1.3、控件设置(1)PictureBox控件(2)timer控件(3)contextMenuStrip控件1.4…

学习MySQL必须掌握的13个关键字,你get了吗?

1、三范式 第一范式:每个表的每一列都要保持它的原子性,也就是表的每一列是不可分割的;第二范式:在满足第一范式的基础上,每个表都要保持唯一性,也就是表的非主键字段完全依赖于主键字段;第三范…

【微服务】Nacos2.x服务发现?RPC调用?重试机制?

💖Spring家族及微服务系列文章 ✨【微服务】Nacos通知客户端服务变更以及重试机制 【微服务】SpringBoot监听器机制以及在Nacos中的应用 ✨【微服务】Nacos服务端完成微服务注册以及健康检查流程 ✨【微服务】Nacos客户端微服务注册原理流程 ✨【微服务】SpringClou…

Vue 和 React 比,React 好在哪里?

​ 这两个设计理念上就有所区别,类比过来就是:Vue 是自动挡汽车,React 是手动挡汽车。 在 Vue 中,不需要去注意视图和数据的一致性,因为有双向绑定看帮你处理,响应式的。还有一些很方便的 v-if、v-model 之…