三章节关系数据库标准语言SQL.ppt
《三章节关系数据库标准语言SQL.ppt》由会员分享,可在线阅读,更多相关《三章节关系数据库标准语言SQL.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、三章节关系数据库标准语言SQL Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望3.4 数数 据据 更更 新新 3.4.1 插入数据(插入数据(Insert)3.4.2 修改数据(修改数据(Update)3.4.3 删除数据删除数据(Delect)F插入单个元组插入单个元组F插入子查询结果插入子查询结果1.插入单个元组插入单个元组v语句格式语句格式INSERTINTO (,)VALUES(,)v功能功能 将新元组插入指定表中。将新元组插入指定表中。插入单个元组(续)
2、插入单个元组(续)例例1 将一个新学生记录:将一个新学生记录:(学号:(学号:95020;姓名:陈冬;性别:男;所在;姓名:陈冬;性别:男;所在系:系:IS;年龄:;年龄:18岁)插入到岁)插入到Student表中。表中。INSERT INTO Student VALUES(95020,陈冬陈冬,男男,IS,18);插入单个元组(续)插入单个元组(续)例例2 插入一条选课记录插入一条选课记录(95020,1)。INSERT INTO SC(Sno,Cno)VALUES (95020,1);新插入的元组在新插入的元组在Grade列列上取上取空值空值2.插入子查询结果插入子查询结果v语句格式语句格
3、式 INSERT INTO (,)子查询子查询;v功能功能 将子查询结果插入指定表中将子查询结果插入指定表中插入子查询结果(续)插入子查询结果(续)例例3 对每一个系,求学生的平均年龄,并把结对每一个系,求学生的平均年龄,并把结果存入数据库。果存入数据库。第一步:创建新表第一步:创建新表 CREATE TABLE Deptage (Sdept CHAR(15)/*系名系名*/Avgage SMALLINT);/*学生平均年龄学生平均年龄*/插入子查询结果(续)插入子查询结果(续)第二步:插入数据第二步:插入数据 INSERT INTO Deptage(Sdept,Avgage)SdeptAvg
4、ageIS18MA19CS18子查询结果:子查询结果:SELECT Sdept,AVG(Sage)FROM Student GROUP BY Sdept;3.4 数数 据据 更更 新新 3.4.1 插入数据插入数据3.4.2 修改数据修改数据3.4.3 删除数据删除数据 3.4.2 修改数据修改数据v语句格式语句格式 UPDATE SET =,=WHERE;v功能功能 修改指定表中满足修改指定表中满足WHERE子句条件的元组子句条件的元组修改数据(续)修改数据(续)v三种修改方式三种修改方式F修改某一个元组的值修改某一个元组的值F修改多个元组的值修改多个元组的值F带子查询的修改语句带子查询的修
5、改语句1.修改某一个元组的值修改某一个元组的值例例4 将学生将学生95001的年龄改为的年龄改为22岁。岁。UPDATE Student SET Sage=22 WHERE Sno=95001;2.修改多个元组的值修改多个元组的值例例5 将所有学生的年龄增加将所有学生的年龄增加1岁。岁。UPDATE Student SET Sage=Sage+1;没没有有Where子子句句,说说明明要要修修改改Student表表中中所有元组的年龄属性值所有元组的年龄属性值。修改多个元组的值修改多个元组的值(续续)例例6 将信息系所有学生的年龄增加将信息系所有学生的年龄增加1岁。岁。UPDATE Student
6、 SET Sage=Sage+1 WHERE Sdept=IS;3.带子查询的修改语句带子查询的修改语句例例7 将计算机科学系全体学生的成绩置零。将计算机科学系全体学生的成绩置零。UPDATE SC SET Grade=0 WHERE CS=(SELETE Sdept FROM Student WHERE Student.Sno=SC.Sno);子查询子查询:在:在Student表表中找出选修了课程中找出选修了课程的学生所在的系名的学生所在的系名3.4 数数 据据 更更 新新 3.4.1 插入数据插入数据3.4.2 修改数据修改数据3.4.3 删除数据删除数据 3.4.3 删除数据删除数据格式
7、:格式:DELETE FROM WHERE ;功功能能:删删除除指指定定表表中中满满足足 WHERE 子子句句条件的条件的元组元组DELETEFROM student删除数据(续)删除数据(续)三种删除方式三种删除方式F删除某一个元组的值删除某一个元组的值F删除多个元组的值删除多个元组的值F带子查询的删除语句带子查询的删除语句1.删除某一个元组的值删除某一个元组的值例例8 删除学号为删除学号为95019的学生记录。的学生记录。DELETE FROM Student WHERE Sno=95019;2.删除多个元组的值删除多个元组的值例例9 删除删除2号课程的所有选课记录。号课程的所有选课记录。
8、DELETE FROM SC;DELETE FROM SC;WHERE Cno=2;例例10 删除所有的学生选课记录。删除所有的学生选课记录。3.带子查询的删除语句带子查询的删除语句例例11 删除计算机科学系所有学生的选课删除计算机科学系所有学生的选课记录。记录。DELETE FROM SC WHERE CS=(SELETE Sdept FROM Student WHERE Student.Sno=SC.Sno);子查询子查询:在:在Student表表中找出选修了课程中找出选修了课程的学生所在的系名的学生所在的系名4.更新操作与数据一致性更新操作与数据一致性DBMS在执行插入、删除、更新语句时
9、必在执行插入、删除、更新语句时必须保证数据库一致性须保证数据库一致性F必须有事务的概念和原子性必须有事务的概念和原子性F完整性检查和保证完整性检查和保证第三章第三章 关系数据库标准语言关系数据库标准语言SQL3.1 SQL概述概述3.2 数据定义数据定义3.3 查询查询3.4 数据更新数据更新3.5 视图视图3.6 数据控制数据控制3.7 嵌入式嵌入式SQL3.8 小结小结 3.5 视视 图图视图的特点视图的特点v虚表,是从一个或几个基本表(或视图)虚表,是从一个或几个基本表(或视图)导出的表导出的表v只存放视图的定义,不会出现数据冗余只存放视图的定义,不会出现数据冗余v基表中的数据发生变化,
10、从视图中查询基表中的数据发生变化,从视图中查询出的数据也随之改变出的数据也随之改变3.5 视视 图图基于视图的操作基于视图的操作v 查询查询v 删除删除v 受限更新受限更新v定义基于该视图的新视图定义基于该视图的新视图3.5 视视 图图3.5.1 定义视图(建立和删除视图)定义视图(建立和删除视图)3.5.2 查询视图查询视图3.5.3 更新视图更新视图3.5.4 视图的作用视图的作用1.建立视图建立视图语句格式语句格式:CREATE VIEW (,)AS WITH CHECK OPTION;:要建立的视图的名字。要建立的视图的名字。(,):组成视图的所有属性列的组成视图的所有属性列的名字。要
11、么全部写出,要么全部省略。当省略了视名字。要么全部写出,要么全部省略。当省略了视图的所有属性列名后,视图中的属性列就由子查询图的所有属性列名后,视图中的属性列就由子查询Select语句中的语句中的组成。组成。1.建立视图建立视图 但是对于以下但是对于以下3种情况,必须种情况,必须明确指定明确指定视图的属视图的属性列名字:性列名字:1)某个目标列是集函数或列表达式)某个目标列是集函数或列表达式2)多表连接时选出了几个同名属性列作为视图的)多表连接时选出了几个同名属性列作为视图的属性字段属性字段3)需要在视图中为某个列启用新的更合适的名字)需要在视图中为某个列启用新的更合适的名字1.建立视图建立视
12、图 :可以是任意的可以是任意的Select语句,但是语句,但是不能含有不能含有Order By字句和字句和Distinct短语。短语。WITH CHECK OPTION:表示对视图进行表示对视图进行修改、插入和删除操作时,必须保证所要修修改、插入和删除操作时,必须保证所要修改、插入和删除的行满足子查询中的改、插入和删除的行满足子查询中的“条件条件表达式表达式”。行列子集视图行列子集视图 例例1 建立信息系学生的视图。建立信息系学生的视图。CREATE VIEW IS_Student AS l从单个基本表导出从单个基本表导出l只是去掉了基本表的某些行和某些列只是去掉了基本表的某些行和某些列l保留
13、了码保留了码 SELECT Sno,Sname,Sage FROM Student WHERE Sdept=IS;WITH CHECK OPTION 的视图的视图例例2 建立信息系学生的视图,并要求透过该视建立信息系学生的视图,并要求透过该视图进行的更新操作只涉及信息系学生。图进行的更新操作只涉及信息系学生。CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept=IS WITH CHECK OPTION;对对IS_Student视图的更新操作视图的更新操作v修改修改操作:操作:DBMS自动加上自动加上Sd
14、ept=IS的条件的条件v删除删除操作:操作:DBMS自动加上自动加上Sdept=IS的条件的条件v插入插入操作:操作:DBMS自动检查自动检查Sdept属性值属性值是否为是否为IS,如果如果不是不是,则,则拒绝拒绝该该插入操作插入操作;如果没有如果没有提供提供Sdept 属性值,则自动定义属性值,则自动定义 Sdept 为为IS基于多个基表的视图基于多个基表的视图例例3 建立信息系选修了建立信息系选修了1号课程的学生视图。号课程的学生视图。CREATE VIEW IS_S1(Sno,Sname,Grade)AS SELECT Student.Sno,Sname,Grade FROM Stud
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章节 关系 数据库 标准 语言 SQL
限制150内