第4章 结构化查询语言SQL-1.ppt
文本预览下载声明
小结 4.1 SQL概述 4.2 SQL的数据定义 4.3 SQL的数据查询 4.4 数据更新 4.5 SQL数据控制 4.6 视图的定义及操作 4.4.3 数据修改 【例4-68】将选修“离散数学”的学生成绩提高5%。 UPDATE SC SET Grade=Grade*1.05 WHERE Cno IN (SELECT Cno FROM Course WHERE Cname= 离散数学); 例 将计算机科学系全体学生的成绩置零。 UPDATE SC SET Grade=0 WHERE CS= (SELETE Sdept FROM Student WHERE Student.Sno = SC.Sno); 4.5 SQL数据控制 通过 SQL 的 GRANT 语句和 REVOKE 语句实现 用户权限组成 数据对象 操作类型 定义用户存取权限:定义用户可以在哪些数据库对象上进行哪些类型的操作 定义存取权限称为授权 1.GRANT GRANT语句的一般格式: GRANT 权限[,权限]... [ON 对象类型 对象名] TO 用户[,用户]... [WITH GRANT OPTION]; 语义:将对指定操作对象的指定操作权限授予指定的用户 GRANT(续) 发出GRANT: DBA 数据库对象创建者(即属主Owner) 拥有该权限的用户 按受权限的用户 一个或多个具体用户 PUBLIC(全体用户) GRANT(续) WITH GRANT OPTION子句: 指定:可以再授予 没有指定:不能传播 不允许循环授权 GRANT(续) 【例4-69】把对学生表Student的查询和修改权限授予用户U1和U2。 GRANT SELECT, UPDATE ON TABLE Student TO U1,U2; 不允许U1和U2把得到的权限再授予别的用户。 GRANT(续) 【例4-70】把修改学号和查询选课表SC的权限授予U3,并允许U3将其获得的权限授予其他用户。 GRANT UPDATE(Sno),SELECT ON TABLE SC TO U3 WITH GRANT OPTION; 在U3可以将获得的权限授予U4,语句如下: GRANT UPDATE(Sno),SELECT ON TABLE SC TO U4; 2. REVOKE 授予的权限可以由DBA或其他授权者用REVOKE语句收回 REVOKE语句的一般格式为: REVOKE 权限[,权限]... [ON 对象类型 对象名] FROM 用户[,用户]...; REVOKE(续) 【例4-71】将用户U3获得的权限收回。 REVOKE UPDATE(Sno),SELECT ON TABLE SC FROM U3 CASCADE; 将用户U3获得的权限级联收回,用户U4从用户U3获得的权限也一并收回。 4.6 视图的定义及操作 虚表,是从一个或几个基本表(或视图)导出的表 只存放视图的定义,不存放视图对应的数据 基表中的数据发生变化,从视图中查询出的数据也随之改变 4.6 视图的定义及操作 4.6.1 视图的创建 4.6.2 视图的查询 4.6.3 视图的更新 4.6.4 视图的删除 4.6.1 视图的创建 语句格式 CREATE VIEW 视图名 [(列名 [,列名]…)] AS 子查询 [WITH CHECK OPTION]; 组成视图的属性列名:全部省略或全部指定 子查询不允许含有ORDER BY子句和DISTINCT短语 WITH CHECK OPTION表示对视图进行UPDATE, INSERT和DELETE 操作时要保证更新、插入或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)。 4.6.1 视图的创建 【例4-72】建立“计算机”系学生的视图。 CREATE V
显示全部