网站建设模板代码,面包屑网站导航怎么做,wordpress 搜索用户,白城网络推广MySQL实验四#xff1a;数据更新 目录MySQL实验四#xff1a;数据更新导读表结构sql建表语句模型图1、 SQL更新#xff1a;将所有学生的年龄增加1岁代码2、SQL更新#xff1a;修改“高等数学”课程倒数三名成绩#xff0c;在原来分数上减5分代码解析3、SQl更新#xff1a…MySQL实验四数据更新 目录MySQL实验四数据更新导读表结构sql建表语句模型图1、 SQL更新将所有学生的年龄增加1岁代码2、SQL更新修改“高等数学”课程倒数三名成绩在原来分数上减5分代码解析3、SQl更新将所有平均分为75分以上的学生的各门课成绩在原来基础上加5分代码解析4、SQL更新修改“王大力”的“计算机导论”课程成绩为70代码解析5、SQL更新修改“9512101”的“C01”课程成绩为85代码6、SQL插入在学生表Student中插入数据代码7、SQL删除删除“数据库基础”的全部记录包括课程信息成绩信息代码8、SQL插入在课程表Course中插入数据代码9、SQl删除删除“张海”的所有成绩记录代码10、SQL插入在选课表SC中插入95211班学生选修C04的选课信息代码11、SQL删除删除“9531102”学生“C05”课程的成绩记录代码12、根据employee表中各部门的员工数更新department表的各对应部门人数题目代码解析导读
本期实验我们将讲解数据更新的一些sql语句的练习题所有题目的表结构基于下述与sql语句与模型图一并给出。
表结构
学生数据库db_student包括三个数据表student学生表、course课程表和sc选课表。表结构如下
1、student学生表
SNO学号CHAR(7)
SNAME姓名CHAR(10)
SSEX性别CHAR(2)
SAGE年龄SMALLINT
SDEPT所在系 VARCHAR(20)
2、course课程表
CNO课程号CHAR(10)
CNAME课程名VARCHAR(20)
CCREDIT学分SMALLINT
SEMSTER学期SMALLINT
PERIOD学时SMALLINT
3、sc选课表
SNO 学号CHAR(7)
CNO 课程号CHAR(10)
GRADE 成绩 SMALLINT
sql建表语句
-- 创建学生表
CREATE TABLE student (SNO CHAR(7) PRIMARY KEY,SNAME CHAR(10) NOT NULL,SSEX CHAR(2),SAGE SMALLINT,SDEPT VARCHAR(20)
);-- 创建课程表
CREATE TABLE course (CNO CHAR(10) PRIMARY KEY,CNAME VARCHAR(20) NOT NULL,CCREDIT SMALLINT,SEMSTER SMALLINT,PERIOD SMALLINT
);-- 创建选课表
CREATE TABLE sc (SNO CHAR(7),CNO CHAR(10),GRADE SMALLINT,PRIMARY KEY (SNO, CNO),FOREIGN KEY (SNO) REFERENCES student(SNO),FOREIGN KEY (CNO) REFERENCES course(CNO)
);模型图 1、 SQL更新将所有学生的年龄增加1岁
代码
update student set sagesage1;2、SQL更新修改“高等数学”课程倒数三名成绩在原来分数上减5分
代码
UPDATE sc
SET sc.grade sc.grade-5
where cno in(select cno from course where cname高等数学) and grade is not null
order by grade
limit 3;解析
UPDATE sc 表示要更新选课表 sc 中的数据。SET sc.grade sc.grade-5 表示将选课表 sc 中所有符合条件的记录中的成绩减去 5 分。where cno in(select cno from course where cname高等数学) and grade is not null 表示只更新选修了课程名为“高等数学”的课程且成绩不为空的学生的选课记录。其中cno in(select cno from course where cname高等数学) 表示选修了课程名为“高等数学”的课程grade is not null 表示成绩不为空。order by grade 表示按成绩升序排序。limit 3 表示最多更新 3 条记录。如果符合条件的记录多于 3 条则只更新前三条记录。
3、SQl更新将所有平均分为75分以上的学生的各门课成绩在原来基础上加5分
代码
UPDATE sc
SET GRADE GRADE 5
WHERE SNO IN (
SELECT t.SNO
FROM (
SELECT SNO, AVG(GRADE) AS AVG_GRADE
FROM sc
GROUP BY SNO
HAVING AVG_GRADE 75
) AS t
);解析
在这条 SQL 语句的子查询中使用了别名 t 来代表子查询的结果集。这样做的好处是可以在 SELECT 子句中引用这个别名从而简化 SQL 语句的书写。
在这个例子中子查询的目的是找出平均成绩大于等于 75 分的学生的学号。因此子查询的结果需要包含两个字段SNO学号和 AVG_GRADE平均成绩。在子查询中使用了 GROUP BY 子句对 SNO 进行分组并使用 AVG 函数计算每个学生的平均成绩。由于 AVG 函数返回的结果需要命名为 AVG_GRADE因此使用了 AS 关键字来给这个字段起别名。
4、SQL更新修改“王大力”的“计算机导论”课程成绩为70
代码
UPDATE sc
SET GRADE 70
WHERE SNO (
SELECT SNO
FROM student
WHERE SNAME 王大力) AND CNO (
SELECT CNO
FROM course
WHERE CNAME 计算机导论
);解析
UPDATE sc 表示要更新选课表 sc 中的数据。SET GRADE 70 表示将选课表 sc 中符合条件的记录的成绩设置为 70 分。WHERE SNO (SELECT SNO FROM student WHERE SNAME 王大力) AND CNO (SELECT CNO FROM course WHERE CNAME 计算机导论) 表示只更新某个学生选修的某一门课程的成绩。其中SELECT SNO FROM student WHERE SNAME 王大力 是一个子查询用于查找名为“王大力”的学生的学号。同样地SELECT CNO FROM course WHERE CNAME 计算机导论 也是一个子查询用于查找课程名为“计算机导论”的课程的课程号。因此WHERE 子句中的条件 SNO (SELECT SNO FROM student WHERE SNAME 王大力) AND CNO (SELECT CNO FROM course WHERE CNAME 计算机导论) 表示选取符合条件的学生和课程的选课记录进行更新。
5、SQL更新修改“9512101”的“C01”课程成绩为85
代码 update sc
set grade 85
where sno9512101 and cnoC01;6、SQL插入在学生表Student中插入数据
Sno9512102 Sname:刘晨 Ssex男 Sage:20 Sdept计算机系
表结构如下student学生表
列名说明数据类型约束SNO学号CHAR(7)主码SNAME姓名CHAR(10)NOT NULLSSEX性别CHAR(2)取“男”或“女”SAGE年龄SMALLINTSDEPT所在系VARCHAR(20)默认“计算机系”
代码
INSERT INTO student (SNO, SNAME, SSEX, SAGE, SDEPT)
VALUES (9512102, 刘晨, 男, 20, 计算机系);7、SQL删除删除“数据库基础”的全部记录包括课程信息成绩信息
代码
delete from sc where cno in(select cno from course where cname数据库基础 );
delete from course where cname数据库基础;
8、SQL插入在课程表Course中插入数据
CnoC06 Cname数据结构 Ccredit5 Semster4
表结构如下course课程表
列名说明数据类型约束CNO课程号CHAR(10)主码CNAME课程名VARCHAR(20)NOT NULLCCREDIT学分SMALLINTSEMSTER学期SMALLINTPERIOD学时SMALLINT
代码
insert into course (cno,cname,ccredit,semster)
values (C06,数据结构,5,4);
9、SQl删除删除“张海”的所有成绩记录
代码
DELETE FROM sc
WHERE sno IN(SELECT sno FROM student WHERE sname张海);
10、SQL插入在选课表SC中插入95211班学生选修C04的选课信息
代码
INSERT INTO sc(sno,cno)
SELECT sno,cno FROM student,course
WHERE sno LIKE 95211% and cnoC04;11、SQL删除删除“9531102”学生“C05”课程的成绩记录
代码
DELETE FROM sc
WHERE cnoC05 AND sno9531102;
12、根据employee表中各部门的员工数更新department表的各对应部门人数
题目
根据employee员工表中各部门的员工数更新department部门表的各对应部门人数。
员工表employee表结构如下 代码
update department,(select dept_id,count(*) as snum from employee group by dept_id)as num1
set emp_num snum
where num1.dept_id department.dept_id;解析 UPDATE department, (select dept_id,count() as snum from employee group by dept_id) as num1 表示要更新部门表 department 中的数据并使用子查询 (select dept_id,count() as snum from employee group by dept_id) as num1 来获取每个部门的员工人数信息。 set emp_num snum 表示将部门表 department 中的 emp_num 字段设置为子查询 num1 中的 snum 字段即将每个部门的员工人数信息更新到部门表中。 where num1.dept_id department.dept_id 表示将子查询 num1 的结果与部门表 department 进行关联只更新那些部门的员工人数信息其部门编号在子查询 num1 中也存在。 综上所述这条 SQL 语句的作用是将每个部门的员工人数信息更新到部门表 department 中。子查询 num1 用于计算每个部门的员工人数并将结果存储在一个临时表 num1 中。在主查询中使用 num1 表来获取每个部门的员工人数信息并将其更新到部门表的 emp_num 字段中。WHERE 子句中的条件用于将临时表 num1 的结果与部门表 department 进行关联只更新那些部门的员工人数信息其部门编号在临时表 num1 中也存在。 文章转载自: http://www.morning.dxrbp.cn.gov.cn.dxrbp.cn http://www.morning.jiuyungps.com.gov.cn.jiuyungps.com http://www.morning.hengqilan.cn.gov.cn.hengqilan.cn http://www.morning.mrgby.cn.gov.cn.mrgby.cn http://www.morning.qpsxz.cn.gov.cn.qpsxz.cn http://www.morning.kqqk.cn.gov.cn.kqqk.cn http://www.morning.qnbck.cn.gov.cn.qnbck.cn http://www.morning.ngkng.cn.gov.cn.ngkng.cn http://www.morning.lmrjn.cn.gov.cn.lmrjn.cn http://www.morning.sggzr.cn.gov.cn.sggzr.cn http://www.morning.gstmn.cn.gov.cn.gstmn.cn http://www.morning.lhrwy.cn.gov.cn.lhrwy.cn http://www.morning.prhqn.cn.gov.cn.prhqn.cn http://www.morning.grpfj.cn.gov.cn.grpfj.cn http://www.morning.ndlww.cn.gov.cn.ndlww.cn http://www.morning.bbgr.cn.gov.cn.bbgr.cn http://www.morning.hqjtp.cn.gov.cn.hqjtp.cn http://www.morning.xpzrx.cn.gov.cn.xpzrx.cn http://www.morning.reababy.com.gov.cn.reababy.com http://www.morning.lcwhn.cn.gov.cn.lcwhn.cn http://www.morning.qztsq.cn.gov.cn.qztsq.cn http://www.morning.llqky.cn.gov.cn.llqky.cn http://www.morning.fmznd.cn.gov.cn.fmznd.cn http://www.morning.jxwhr.cn.gov.cn.jxwhr.cn http://www.morning.chzbq.cn.gov.cn.chzbq.cn http://www.morning.swdnr.cn.gov.cn.swdnr.cn http://www.morning.rbqlw.cn.gov.cn.rbqlw.cn http://www.morning.blzrj.cn.gov.cn.blzrj.cn http://www.morning.wpmlp.cn.gov.cn.wpmlp.cn http://www.morning.ndfwh.cn.gov.cn.ndfwh.cn http://www.morning.mdgb.cn.gov.cn.mdgb.cn http://www.morning.qwfq.cn.gov.cn.qwfq.cn http://www.morning.zqfjn.cn.gov.cn.zqfjn.cn http://www.morning.bnlkc.cn.gov.cn.bnlkc.cn http://www.morning.tqrxm.cn.gov.cn.tqrxm.cn http://www.morning.cbynh.cn.gov.cn.cbynh.cn http://www.morning.cnqdn.cn.gov.cn.cnqdn.cn http://www.morning.lynmt.cn.gov.cn.lynmt.cn http://www.morning.vjdofuj.cn.gov.cn.vjdofuj.cn http://www.morning.ydhmt.cn.gov.cn.ydhmt.cn http://www.morning.yzdth.cn.gov.cn.yzdth.cn http://www.morning.synlt.cn.gov.cn.synlt.cn http://www.morning.lnbcx.cn.gov.cn.lnbcx.cn http://www.morning.bfgbz.cn.gov.cn.bfgbz.cn http://www.morning.xqkcs.cn.gov.cn.xqkcs.cn http://www.morning.yybcx.cn.gov.cn.yybcx.cn http://www.morning.nwqyq.cn.gov.cn.nwqyq.cn http://www.morning.hsxkq.cn.gov.cn.hsxkq.cn http://www.morning.wsxly.cn.gov.cn.wsxly.cn http://www.morning.mrncd.cn.gov.cn.mrncd.cn http://www.morning.qgghr.cn.gov.cn.qgghr.cn http://www.morning.gqbtw.cn.gov.cn.gqbtw.cn http://www.morning.gwwtm.cn.gov.cn.gwwtm.cn http://www.morning.drfcj.cn.gov.cn.drfcj.cn http://www.morning.zpdjh.cn.gov.cn.zpdjh.cn http://www.morning.mslhq.cn.gov.cn.mslhq.cn http://www.morning.kkwbw.cn.gov.cn.kkwbw.cn http://www.morning.wlqbr.cn.gov.cn.wlqbr.cn http://www.morning.nkjjp.cn.gov.cn.nkjjp.cn http://www.morning.pctsq.cn.gov.cn.pctsq.cn http://www.morning.stbhn.cn.gov.cn.stbhn.cn http://www.morning.rbzht.cn.gov.cn.rbzht.cn http://www.morning.gbfuy28.cn.gov.cn.gbfuy28.cn http://www.morning.rcrnw.cn.gov.cn.rcrnw.cn http://www.morning.yznsx.cn.gov.cn.yznsx.cn http://www.morning.hsdhr.cn.gov.cn.hsdhr.cn http://www.morning.ghxsn.cn.gov.cn.ghxsn.cn http://www.morning.eronghe.com.gov.cn.eronghe.com http://www.morning.wqkzf.cn.gov.cn.wqkzf.cn http://www.morning.mpwgs.cn.gov.cn.mpwgs.cn http://www.morning.nypgb.cn.gov.cn.nypgb.cn http://www.morning.kwksj.cn.gov.cn.kwksj.cn http://www.morning.yxwrr.cn.gov.cn.yxwrr.cn http://www.morning.xkhhy.cn.gov.cn.xkhhy.cn http://www.morning.gqcd.cn.gov.cn.gqcd.cn http://www.morning.qznkn.cn.gov.cn.qznkn.cn http://www.morning.tbqbd.cn.gov.cn.tbqbd.cn http://www.morning.pmdnx.cn.gov.cn.pmdnx.cn http://www.morning.bhwz.cn.gov.cn.bhwz.cn http://www.morning.qgdsd.cn.gov.cn.qgdsd.cn