SQL 基础(八)数据更新操作实战演练

本文详细介绍了如何使用SQL语句进行数据库操作,包括向学生表插入记录、更新学生信息、添加课程、批量添加选修记录、创建新表、修改特定课程分数、按条件更改成绩、删除特定学生信息以及清空学生表等操作。通过这些实例,读者可以深入理解SQL的基本语法和使用场景。
摘要由CSDN通过智能技术生成

实验内容

根据数据库 db_student 中的 tb_student 表、tb_scoretb_course,完成下列更新语句

表结构

  • tb_student(sno,sn,dept,sex,birthday,polity)
  • tb_score(sno,cno,score)
  • tb_cource(cno,cn,ct,th)

任务题解

任务一

向学生表中插入一条记录,学号为 00000000,姓名为 XXX,性别为 X 的记录。

INSERT INTO tb_student(sno,sn,sex)
VALUES('00000000','XXX','X')

任务二

向学生有中插入一条记录,各字段值依次为:00000000,name,sex,department,XXXX-XX-XX,polity。

INSERT INTO tb_student(sno,sn,sex,dept,birthday,polity)
VALUES('00000000','name','sex','department','XXXX-XX-XX','polity')

任务三

在课程表中添加一门新课程,其信息为:(‘C8’,‘计算机新技术’,‘XXX’)。

ALTER TABLE tb_course
ADD na varchar(10) null
INSERT INTO tb_course(cno,cn,na) 
VALUES('c8','计算机新技术','XXX')

任务四

在选修关系表 SC 中添加所有学生对’C8’课程的选修关系记录,成绩暂定为 60,请用一条命令完成本批量添加任务。

INSERT INTO tb_score(sno,cno,score) 
SELECT sno,'c8',60 -- cno/score 定值
from tb_student

任务五

将女生的所有数据形成一张新表,表名为 student_girl。

select * 
INTO student_girl 
FROM tb_student WHERE sex='女'

任务六

将学生表中姓名为 XX 同学,性别改为女,出生日期为 1998-1-1。

UPDATE tb_student
SET sex='女',birthday='1998-1-1'
WHERE sn='XX'

任务七

将 tb_score 表中的 c04 的课程折合为 60%并加上 40 分。

UPDATE tb_score
SET score=score*0.6+40
WHERE cno='c04'

任务八

将选修数据结构课程的学生成绩增加 15 分。

UPDATE tb_score
SET score=score+15
WHERE cno=(SELECT cno 
		   FROM tb_course 
		   WHERE cn='数据结构')

任务九

把选“计算机新技术”课程的男学生的成绩暂全部初始化重新设置为 0。

UPDATE tb_score
SET score=0
WHERE sno IN (SELECT sno
			  FROM tb_student
			  WHERE sex='男')
AND cno=(SELECT cno -- 两个并列关系子查询
		 FROM tb_course
		 WHERE cn='计算机新技术')

任务十

删除学生表中所有姓张的同学。

DELETE FROM tb_student
WHERE LEFT JOIN(sn,1)='张' -- 或 WHERE sn LIKE '张%'

任务十一

删除 student 表中不及格同学的所有信息。

DELETE FROM tb_student
WHERE sno=(SELECT DISTINCT sno
		   FROM tb_score
		   WHERE score<60)

任务十二

XXX 同学的学生信息及其选课情况等全部删除。

-- 删除顺序颠倒会导致成绩表中无法找到XXX学生学号
-- 1.删除成绩表XXX成绩信息
DELETE FROM tb_score
WHERE sno=(SELECT sno
           FROM tb_student
		   WHERE sn='XXX')
-- 2.删除XXX学生信息					 
DELETE FROM tb_student
WHERE sn='XXX'

任务十三

删除学生表中所有学生信息(两种方法)。

-- method1
DELETE FROM tb_student

-- method2
TRUNCATE TABLE tb_student

在修改表信息书写 SQL 语句时,遵循 SETUPDATEWHERE 的书写顺序

即首先设置值,然后选定作用范围,最后增加限制条件。这样思路会更加清晰

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攻城狮杰森

感谢支持,杰森会继续努力哒

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值