数据更新
一、插入数据
insert into 表名(列名) values (值)
insert into Student (Sno,Sname,Sage) values (1,'李四','18') --未被赋值的列值为null
insert into Student values(student表中的所有属性都得赋值)
二、插入子查询结果
insert into 表名 (列名)子查询
对每一个系,求学生的平均年龄,并把结果存入数据库
creat table Deptage
(
Sdept char(15) primary key,
Avgage smallint;
)
insert into Deptage (Sdept,Avgage)
select Sdept,avg(Sage)
from Student
group by Sdept
三、修改数据
update 表名 set 列名=表达式,列名=表达式 where 条件
将学生201215121的年龄修改为22岁,所在系修改为IS系
update Student
set Sage='2',Sdept='IS'
where Sno='201215121'
将所有信息系的学生的年龄都增加1岁
update Student
set Sage = Sage+1
where Sdpt = 'IS'
将所有学生的年龄都增加1岁
update Student
set Sage = Sage+1
四、带子查询的修改语句
将计算机系的所有学生成绩置0
update SC
set Grade=0
where Sno in(
select Sno
from Stduent
where Sept='CS'
)
五、删除数据
delete from 表名 where 条件
删除学号为201215121学生的信息
delete from Student
where Sno='201215121'
删除所有学生的选课记录
delete from SC
六、带子查询的删除
删除计算机系所有学生的选课记录
delete
from SC
where Sno in(
select Sno
from Student
where Sdept = 'CS'
)
练习
实验数据更新
1、插入一门新课程记录(课程号:8,课程名:C程序设计,学分:3)。
insert into Course values (8,'C程序设计',NULL,3)
2、所有学生都选8号课程,将选课记录插入到SC中。
insert into SC (Sno,Cno)
select Sno,'8'
from Student
3、将8号课程的学分改为4分。
update Course set Ccredit=4 where Cno=8
4、将所在系为‘cs’并且年龄小于20岁的学生的所在系改为‘ma’。
update Student set Sdepe = 'MA'
where Sdepe='CS' and Sage<20
5、删掉所有年龄小于20岁、并且所在系为‘cs’的学生记录。
delete from Student
where Sage<20 and Sdepe='CS'
6、将刘晨所选课程的成绩都提高10分。
update SC set Grade+=10 where Sno=(
select Sno from Student where Sname='刘晨'
)
7、删除‘C程序设计’课程的选课记录。
delete from SC where Cno in(
select Cno from Course
where Cname='C程序设计'
)
8、将年龄最小的学生的所在系去掉。
update Student set Sdepe=NULL
where Sage in (
select min(Sage)
from Student
)
11111111111111111111111111
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性