欢迎来到天天文库
浏览记录
ID:52508118
大小:964.55 KB
页数:61页
时间:2020-04-09
《数据库系统原理及应用(3-3).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据库系统原理及应用关系数据库标准语言SQL(三)第三章关系数据库标准语言SQL3.1SQL概述3.2学生-课程数据库3.3数据定义3.4数据查询3.5数据更新3.6视图3.7小结23.5数据更新3.5.1插入数据3.5.2修改数据3.5.3删除数据33.5.1插入数据两种插入数据方式1.插入元组2.插入子查询结果可以一次插入多个元组4一、插入元组语句格式INSERTINTO<表名>[(<属性列1>[,<属性列2>…)]VALUES(<常量1>[,<常量2>]…)功能将新元组插入指定表中5插入元组(续)INTO子句属性列的顺序可与表定义中的顺序不一致没有指定属性列指定部分属性列VALUES子
2、句提供的值必须与INTO子句匹配值的个数值的类型6插入元组(续)[例1]将一个新学生元组(学号:200215128;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中。INSERTINTOStudent(Sno,Sname,Ssex,Sdept,Sage)VALUES('200215128','陈冬','男','IS',18);7插入元组(续)[例2]将学生张成民的信息插入到Student表中。INSERTINTOStudentVALUES(‘200215126’,‘张成民’,‘男’,18,'CS');8插入元组(续)[例3]插入一条选课记录('200215128',
3、'1')。INSERTINTOSC(Sno,Cno)VALUES(‘200215128’,‘1’);RDBMS将在新插入记录的Grade列上自动地赋空值。或者:INSERTINTOSCVALUES('200215128','1',NULL);9二、插入子查询结果语句格式INSERTINTO<表名>[(<属性列1>[,<属性列2>…)]子查询;功能将子查询结果插入指定表中10插入子查询结果(续)INTO子句(与插入元组类似)子查询SELECT子句目标列必须与INTO子句匹配值的个数值的类型11插入子查询结果(续)[例4]对每一个系,求学生的平均年龄,并把结果存入数据库中。第一步:建表CREAT
4、ETABLEDept_age(SdeptCHAR(15)/*系名*/Avg_ageSMALLINT);/*学生平均年龄*/第二步:插入数据INSERTINTODept_age(Sdept,Avg_age)SELECTSdept,AVG(Sage)FROMStudentGROUPBYSdept;12插入子查询结果(续)RDBMS在执行插入语句时会检查所插元组是否破坏表上已定义的完整性规则实体完整性参照完整性用户定义的完整性NOTNULL约束UNIQUE约束值域约束133.5数据更新3.5.1插入数据3.5.2修改数据3.5.3删除数据143.5.2修改数据语句格式UPDATE<表名>SET<列
5、名>=<表达式>[,<列名>=<表达式>]…[WHERE<条件>];功能修改指定表中满足WHERE子句条件的元组15修改数据(续)SET子句指定修改方式要修改的列修改后取值WHERE子句指定要修改的元组缺省表示要修改表中的所有元组16修改数据(续)三种修改方式1.修改某一个元组的值2.修改多个元组的值3.带子查询的修改语句171.修改某一个元组的值[例5]将学生200215121的年龄改为22岁UPDATEStudentSETSage=22WHERESno='200215121';182.修改多个元组的值[例6]将所有学生的年龄增加1岁UPDATEStudentSETSage=Sage+1;
6、193.带子查询的修改语句[例7]将计算机科学系全体学生的成绩置零。UPDATESCSETGrade=0WHERE'CS'=(SELETESdeptFROMStudentWHEREStudent.Sno=SC.Sno);20修改数据(续)RDBMS在执行修改语句时会检查修改操作是否破坏表上已定义的完整性规则实体完整性主码不允许修改用户定义的完整性NOTNULL约束UNIQUE约束值域约束213.5数据更新3.5.1插入数据3.5.2修改数据3.5.3删除数据223.5.3删除数据语句格式DELETEFROM<表名>[WHERE<条件>];功能删除指定表中满足WHERE子句条件的元组WHERE
7、子句指定要删除的元组缺省表示要删除表中的全部元组,表的定义仍在字典中23删除数据(续)三种删除方式1.删除某一个元组的值2.删除多个元组的值3.带子查询的删除语句241.删除某一个元组的值[例8]删除学号为200215128的学生记录。DELETEFROMStudentWHERESno='200215128';252.删除多个元组的值[例9]删除所有的学生选课记录。DELETEFROMSC;263.带子查询的
此文档下载收益归作者所有