3.6 视图
视图
某一用户关心被选修的各门课的平均分 select cno, avg(grade) from sc group by cno 如果建个表存储上面信息,产生数据冗余
Sno Cno Grade 95001 1 92 95001 2 80 95001 3 88 95002 2 90 95002 3 80
定义视图
create view cgrade1(cno, maxg, ming) (cno,avgg,maxg,ming) AS select cno,max(grade),min(grade) from sc group by cno
当子查询中的目标列不是单纯的属性名, 而是聚集函数或列表达式且没有指定别名 是时,必须指定组成视图的所有列名。
修改数据
将SC表中学生95001的选课记录改为学生 95020的选课记录。
UPDATE sc SET sno = '95020' WHERE sno='95001';
DBMS在执行修改语句时会检查修改操作 是否破坏表上已定义的完整性规则。
删除数据
语句格式 DELETE FROM <表名> [WHERE <条件>]; 功能 删除指定表中满足WHERE子句条件的元 组 省略WHERE子句表示要删除表中的全部 元组,表的定义仍在数据字典中。
插入数据
INTO子句: insert into 表名[(属性列1[,属性列2]…)] 可以只指定部分属性列 insert into student(sno, sname, sage, sdept) values ('95013', '王小三', 18, 'MA' ); insert into student(sno,sname,ssex,sdept) values ('95014', '王大三', '女', 'MA' ); insert into student(sno, ssex, sage, sdept) values ('95015', '女', 21, 'MA' );