3.4 数据更新

第四节 数据更新

注意!满足参照完整性(有父才有子,有被参照表才有参照表)

注意!区别数据定义,数据定义是对整表的操作,而数据更新是对行进行的操作,只含有3种更新操作,分别是:

                                                                                                        向表中添加若干行数据;

                                                                                                        修改表中若干行数据;

                                                                                                         删除表中若干行数据;

 一、插入数据insert

1.插入一个元组

insert into <表名>[(<属性列1>[,<属性列2>...)] values (<常量1>[,<常量2>]...);
insert into Student values ('95020','陈东‘,’男‘,’IS‘,18);

2.插入子查询结果

insert into <表名>[(<属性列1>[,<属性列2>...)]子查询;
对Student表按系分组求平均年龄,再把系名和平均年龄存入新表中
insert into Dept_age(Sdept,Avg_age) select Sdept,avg(sage) from Student group by Sdept;

2.修改数据 update……set

1.修改一个元组的值

将学生200215121的年龄改成22岁
update Student set Sage=22 where Sno='200215121';

2.修改多个元组的值

将所有学生的年龄增加1岁
update Student set Sage=Sage+1;

3.带子查询的修改语句

将计算机科学系全体学生的成绩置为0
update SC set Grade=0 where 'CS'=(select Sdept from Student where Student.Sno=SC.Sno);
将计算机科学系的所有学生的成绩置为0
update SC set Grade=0 where 'CS'= (select Sdept from Student where Sno=(select Sno from SC));

三、删除数据delete from

delete from <表名> [where <条件>]

1.删除某一个元组的值

删除学号为200215128的学生记录
delete from Student where Sno='200215128';

2.删除多个元组的值

删除所有学生的选课记录
delete from SC;
drop table SC;

3.带子查询的删除语句

删除计算机科学系所有学生的选课记录
delete from SC where 'CS'=(select Sdept from Student where Student.Sno=SC.Sno);
原文地址:https://www.cnblogs.com/xiaoxiaohui2015/p/5770978.html