mysql练习-数据更新

数据更新主要为增删改查操作,需要记住语法结构。

下面开始做题。

  • 1
    SQL更新:修改“高等数学”课程倒数三名成绩,在原来分数上减5分。
    学生数据库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
UPDATE sc
SET grade=grade-5
WHERE cno IN (SELECT cno FROM course WHERE cname='高等数学')
and grade is not null
ORDER BY grade LIMIT 3;
  • 2
    SQL更新:删除-删除“吴宾”的所有成绩记录
    student:
    在这里插入图片描述
    sc:
    在这里插入图片描述
    course:
    在这里插入图片描述
DELETE FROM sc WHERE sno IN(SELECT sno FROM student where sname='吴宾');
  • 3
    SQL删除:删除计算机系学生的所有成绩记录。
    student表:
    在这里插入图片描述
    sc表
    在这里插入图片描述
delete from sc
where sno in (select sno from student where sdept='计算机系');
  • 4
    SQL删除:删除“9531102”学生“C05”课程的成绩记录
    表结构如第一题。
DELETE FROM sc
WHERE cno='C05' AND sno='9531102';
  • 5
    修改borrow表增加一列;修改日期数据(两条语句完成)
    修改borrow表增加借书日期bdate列,列类型为datetime;
    将机械系的同学的借书日期值修改为还书日期的前两个月的时间。
    用两条语句完成,日期的修改可以用date_add( )或adddate( )。
    原表结构如下:
    card(借书卡) 表:cno 卡号,name 姓名,class 班级
    在这里插入图片描述
    borrow(借书记录)表 :cno 借书卡号,bno 书号,rdate 还书日期
    在这里插入图片描述
alter table borrow 
add column bdate datetime;
update borrow 
set bdate = date_add(rdate,interval - 2 month)
where cno in 
(select cno 
 from card 
 where deptName = '机械系');
  • 6
    SQL更新:将所有学生的年龄增加1岁
    表结构如第一题。
UPDATE student SET sage=sage+1;
  • 7
    插入图书信息,将图书信息插入到book表中,其中书号 7, 书名 组合数学, 作者 刘迪, 价格 36.70, 数量 37。
    表结构如下:
    book(图书) 表:bno 书号,bname 书名,author 作者,price 单价,quantity 库存数
    在这里插入图片描述
insert into book
values(7,'组合数学','刘迪',36.70,37);
  • 8
    SQL插入:在学生表Student中插入数据
    Sno:9512102 Sname:刘晨 Ssex:男 Sage:20 Sdept:计算机系
    表结构如下:student(学生表)
    在这里插入图片描述
INSERT INTO student
VALUES('9512102','刘晨','男',20,'计算机系');
  • 9
    SQL插入:在课程表Course中插入数据
    Cno:C06 Cname:数据结构 Ccredit:5 Semster:4
    表结构如下:course(课程表)
    在这里插入图片描述
INSERT INTO course
VALUES('C06','数据结构',5,4,NULL);
  • 10
    SQL更新:修改-“张海”的“计算机导论”课程成绩为70。
    student:
    在这里插入图片描述
    sc:
    在这里插入图片描述
    course:
    在这里插入图片描述
UPDATE sc
SET grade=70
WHERE sno IN (SELECT sno FROM student WHERE sname='张海')
AND cno IN (SELECT cno FROM course WHERE cname='计算机导论');
  • 11
    SQl删除:删除“张海”的所有成绩记录
    表结构如第一题。
DELETE FROM sc
WHERE sno IN(SELECT sno FROM student WHERE sname='张海');
  • 12
    SQl更新:将所有平均分为75分以上的学生的各门课成绩在原来基础上加5分
    表结构如第一题。
update sc 
set grade = grade + 5
where sno in 
    (
        select sno from 
        (        
            select sno from sc
            group by sno 
            having avg(grade) >= 75 
        ) as A
    );
  • 13
    向student表中一次插入多行数据
    一次向student表中插入两条记录,其中王大力的系别用缺省值赋值。
    两行数据的学号,姓名,性别,年龄和系别分别如下:
    9520103,王敏,女,20,信息系;
    9520104,王大力,男,19。
    student表结构:
    在这里插入图片描述
insert into student values('9520103','王敏','女',20,'信息系'),('9520104','王大力','男',19,'计算机系');
  • 14
    SQL更新:修改“9512101”的“C01”课程成绩为85
    表结构如第一题。
UPDATE sc SET grade=85 WHERE cno='C01' AND sno='9512101';
  • 15
    在sc表中插入计算机系所有学生C01课程的选课记录。
    表结构如第三题。
INSERT INTO sc(sno,cno)
SELECT sno,'C01' FROM student
WHERE sdept='计算机系' ;
  • 16
    SQL删除:删除“数据库基础”的全部记录(包括课程信息,成绩信息)
    表结构如第一题。
delete from sc where cno in(select cno from course where  cname='数据库基础' );
delete from course where cname='数据库基础';
  • 17
    SQL更新:修改计算机系李勇的VB课程成绩为60。
    表结构如第十题。
update sc set grade=60
where sno in 
(select sno from student where sname='李勇' and sdept='计算机系') 
and cno in 
(select cno from course where cname='VB');
  • 18
    使用insert set 向sc表中插入一条选课记录,姓名为周璐的学生,课程名为数据库原理与应用的课程的选课记录。
    表结构如第十题。
insert into sc
set sno=(
  select sno 
  from student 
  where sname='周璐'),
cno=(
  select cno 
  from course 
  where cname='数据库原理与应用');
  • 19
    SQL插入:插入一条学生数据(9913101,王红,女)
    表结构如第一题。
insert into student(sno,sname,ssex)
values('9913101','王红','女');
  • 20
    SQL插入:在选课表SC中插入95211班学生选修C04的选课信息
    提示:多行数据插入,插入的数据的sno从student表中查询而来,插入的cno为“C04”
    表结构如第一题。
INSERT INTO sc(sno,cno)
SELECT sno,cno FROM student,course 
WHERE sno LIKE '95211%' and cno='C04';
  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值