SQL更新操作

本文介绍了SQL中的基本操作,包括向student和SC表中插入新记录,使用where子句进行更新和删除操作,以及结合查询进行批量修改,如增加学生年龄、更改学生信息、调整课程分数,并展示了如何删除特定条件的记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 1.插入操作 

2.更新与查询结合

3.修改操作

4.删除操作


 1.插入操作 

--将一个新生插入student表,其学号为0821105,姓名为陈波,性别为男,年龄为19岁,系别为信息管理系。

select * 
from student
--顺序对应:值与表列对应
--带有values的,则一条语句一次插入一条记录
delete  from student where sno='0821105'
insert into student(sno,sname,sage,ssex,sdept) values('0821105','陈波',19,'男','信息管理')

--等价于
--插入时,给所有表列赋值,则表列可省
insert into student  values('0821105','陈波','男',19,'信息管理')


--在sc表中插入一条记录,学号为“0821105”,选修课程号为“c001”,成绩暂缺。

select * from sc
--插入时,不是给所有表列赋值,则表列不可省
insert into sc(sno,cno)  values('0821105','c001')


--将各系及其学生的平均年龄的信息插入到表Dept_age中;
create table Dept_age
(
    sdept char(20) primary key  ,
    avg_sage int
)

2.更新与查询结合

--不带有values的,则一条语句一次可插入多条记录
insert into Dept_age  select sdept,AVG(sage) from  student  group by sdept

3.修改操作

--将所有学生的年龄增加1岁;

select * from student
--不带有where,则修改所有行
update student set sage=sage+1


--将学号为0821102的学生年龄改为21岁,系别改为计算机系。
--带有where,则修改满足where条件的行
--一个update语句一次可修改符合where语句的多个列的值
update student set sage=21,sdept='计算机' where sno='0821102'

--将计算机系全体学生的成绩加2分
  update sc set grade=grade+2
  where sno in
      (  select sno from student where sdept='计算机' )
  

--将学分最高的课程的学分减1分

  update course set credit=credit-1
  where   credit=(select MAX(credit) from course)

4.删除操作

--删除学号为0821103的学生选课记录
--清空表数据
delete from sc 
--带有where子句,则删除满足where条件的行
delete  from sc where sno='0821103'


--删除信息管理系所有及格学生的选课记录

--delete from sc
--where sdept='信息管理' and grade>=60


delete from sc
where sno in
    (select sno from student  where sdept='信息管理') and grade>=60

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值