插入数据
在sql中通过INSERT语句向表中插入数据。INSERT语句有两种形式:一种是向表中插入一条元组;另一种是向表中插入子查询的结果。
1.插入一条新元组
注意:
(1)INTO子句中没有出现的属性列,新元组在这些列上为空值,前提条件是该列允许为空值,否则不能为空。
(2)若INTO子句中没有指明属性列,则新插入的元组必须在每个属性列上有值。
(3)INTO子句中属性列的顺序不一定与表中的相同,但必须与VALUES子句中的常量一一对应且类型一致
(4)字符型和日期型值插入时要用单引号括起来
(5)插入的新值不能违反完整性约束
eg:在Student表中插入一条新元组。
insert into Student values('980012','张倩','女',20,'CS');
2.插入子查询结果
eg:设数据库中已经建立了一个与Student表结构相同的表Student_temp。要求在Student_temp表中保存所有计算机系的学生情况。
create table Student_temp(
Sno char(6),
Sname varchar(50),
Ssex text,
Sage int,
Sdept char(2)
);
insert into Student_temp
select * from Student where Sdept='CS';
修改数据
eg:将每个学生的年龄增加1岁
update Student set Sage=Sage+1;
eg:将所有计算机系的学生成绩置为0
update SC set Grade=0
where Sno IN (
select Sno from Student where Sdept='CS'
);
删除数据
eg:删除所有选修了2号课程的学生选课记录
delete from SC where Cno='2';
eg:删除所有计算机系的学生的选课记录
delete from SC where Sno in(select Sno from Student where Sdept='CS');