数据的插入
插入元组
基本语法
insert
into <表名> [属性列]
values(常量1,2)
into 指定要插入数据的表名及属性列,属性列的顺序可与表中定义的不一致
没有指定属性列的话,表示插入的是一条完整的元组,且属性列属性与表中定义的顺序一致
指定部分属性列的话,插入元组在其余属性列上取空值
values子句提供的值必须与into子句的个数和类型一致
--将一个新学生记录(学号:201215128;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中
insert into Student(Sno,Sname,Ssex,Sdept,Sage)
values('201215128','陈冬','男','IS',180);
--将学生张成民的信息插入到Student表中
insert into Student
values('201215126', '张成民', '男', 18, 'CS');
插入子查询结果
insert into <表名> [<属性列1>]
子查询
子查询的结果必须包含和insert的字段列表一样多的字段,并且数据类型兼容
--对每一个系,求学生的平均年龄,并把结果存入数据库
--建表
create table Deptage
(Sdept char(15),
Avgage smallint);
--插入数据
insert into Deptage(Sdept,Avgage)
select Sdept avg(Sage)
from Student
group by Sdept;
数据的修改
基本语法
update <表名>
set 类名=表达式
where 条件
set子句:指定修改方式,要修改的列,修改后的值
where子句:指定要修改的元组,没有写则表示修改表中所有元组
--将学生2012315的年龄改成22岁
update Student
set Sage =22
where Sno='2012315';
--将所有学生的年龄增加1岁
update Student
set Sage =Sage+1;
--将计算机科学系全体学生的成绩置0,用到子查询
update SC
set Grade = 0
where 'CS'=
(select sdept
from Student
where Student.Sno=SC.Sno);
数据的删除
delete
from 表名
where 条件
where子句 指定要删除的元组,不行则表示要删除表中所有的元组
--删除学号为201215128的学生记录
delect
from Student
where Sno='201215128';
--删除所有学生的选课记录
delect
from SC
--删除计算机科学系所有学生的选课记录
delect
from SC
where 'CS'=
(select sdept
from Student
where Student.Sno=SC.Sno);
空值的处理
空值为不知道,不存在或无意义的值
本文介绍了SQL中的数据操作,包括如何插入完整或部分属性的元组到表中,使用子查询进行批量插入,更新表中元组的特定属性,以及删除指定条件的元组。此外,还讲解了处理空值的方法。示例涵盖了学生信息管理和选课记录的维护,是数据库管理的基础操作。

4983

被折叠的 条评论
为什么被折叠?



