目录
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