文档详情

数据库原理(第2章).ppt

发布:2017-09-20约字共178页下载文档
文本预览下载声明
* * 例2-48. 学号为060713和060901的学生又加入了编号为4的社团。 INSERT INTO SM(Sno,Mno) VALUES (‘060713’,’4’),(‘060901’,’4’); * * 2-49 INSERT INTO Computer SELECT * FROM Student WHERE Sdept in (select Sdept from Student where Sdept=CS); * * 2.4.2 修改数据 SQL中使用 UPDATE 语句来更改表中的数据。使用此语句,可以更改满足 WHERE 子句搜索条件的每行中的一列或多列的值。 * * 一般格式如下: UPDATE 表名 SET 列名 = 表达式 [,列名 = 表达式 …] [WHERE 条件表达式 ]; * * 表名用来指定要修改的表的名称,修改该表中满足WHERE子句条件的那些元组的列值。 SET 子句指定要更新的列并且提供列值。 WHERE 子句是可选的项,它指定要更新的行。如果省略 WHERE 子句,则数据库管理程序使用用户提供的值更新表或视图中的每一行。 * * 例2-50. 将学生表Student中的学生洪程伟的名字改为洪成伟。 UPDATE Student SET Sname=’洪成伟’ WHERE Sname=’洪程伟’; * * 例2-51. 将所有学生的年龄增加一岁。 UPDATE Student SET Sage=Sage+1; * * 2.4.3 删除数据 SQL中使用 DELETE 语句,基于在 WHERE 子句中指定的搜索条件从表中删除数据行。其一般格式如下: DELETE FROM表名 [WHERE条件表达式]; * * WHERE 子句是可选的,它指定要删除的行。如果省略 WHERE 子句,则数据库管理程序删除表或视图中的所有行。 * * 例. 删除学号为030221的学生的记录。 DELETE FROM Student WHERE Sno=‘030221’; * * 例. 删除学号为030221的学生参加社团活动的所有记录。 DELETE FROM SM WHERE Sno=‘030221’; * * 2.5 视图 简单来讲,视图就是从一个或几个基本表或视图导出的虚表,数据库中只存放视图的定义,视图中的数据仍然存放在原来的基本表中。 * * 2.5.1 创建和删除视图 1. 创建视图 一般格式为: CREATE VIEW 视图名 [(列名 [,列名]…)] AS 子查询 [WITH CHECK OPTION]; * * AS子句中的子查询可以是任意的SELECT查询语句。 [WITH CHECK OPTION]子句是可选项,表示对视图进行插入、修改和删除时保证这些操作满足视图定义时子查询中的条件表达式。 * * 例. 建立工商管理系学生的视图。 CREATE VIEW StuOfBM AS SELECT * FROM Student WHERE Sdept=’BM’; * * 2.删除视图 一般格式为: DROP VIEW 视图名 例.删除视图StuOfBM。 DROP VIEW StuOfBM; * * 2.5.2 更新视图 INSERT、DELETE以及UPDATE语句可以应用于视图。 虽然视图是一个“虚表”,但是也可以利用视图更新数据表中的数据;即,将更改发送回源表,并更新源表。 * * 例. 删除工商管理系学生视图StuOfBM中的学生洪程伟。 DELETE FROM StuOfBM WHERE Sname=’洪程伟’; * * 2.6 SQL数据控制 数据控制主要包括安全性控制、完整性控制、事务控制和并发控制。 权限的授予 grant 权限的回收 revoke * * 例.   查询每个学生和他(她)所参加的社团的情况。 左外连接: SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Sgrade,Mno,Duty FROM Student LEFT JOIN SM ON Student.Sno= SM.Sno ; * * 右外连接: SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Sgrade,Mno,Duty FROM Student RIGHT JOIN SM ON Student.Sno= SM. Sno ; * * 全外连接: SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Sgra
显示全部
相似文档