数据更新

数据更新

一、插入数据

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
  )
 
 
posted @   山上的树  阅读(181)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
点击右上角即可分享
微信分享提示