欢迎来到天天文库
浏览记录
ID:59018454
大小:577.50 KB
页数:54页
时间:2020-09-26
《第3章 数据库关系数据库标准语言SQL (更新与视图)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据更新1插入数据2修改数据3删除数据插入数据两种插入数据方式1.插入元组2.插入子查询结果可以一次插入多个元组一、插入元组语句格式INSERTINTO<表名>[(<属性列1>[,<属性列2>…)]VALUES(<常量1>[,<常量2>]…)功能将新元组插入指定表中插入元组(续)INTO子句属性列的顺序可与表定义中的顺序不一致没有指定属性列,则插入的元组在每列上都有值指定部分属性列,没出现的列取空值VALUES子句提供的值必须与INTO子句匹配值的个数值的类型字符串常数要用单引号(英文符号)括起来插入元组(续)[例1]将一个新学生元组(学号:201215128;姓名:陈冬;性别:
2、男;所在系:IS;年龄:18岁)插入到Student表中。INSERTINTOStudent(Sno,Sname,Ssex,Sdept,Sage)VALUES('201215128','陈冬','男','IS',18);插入元组(续)[例2]将学生张成民的信息插入到Student表中。INSERTINTOStudentVALUES(‘201215126’,‘张成民’,‘男’,18,'CS');只有表名,没有属性名,所有列都要有值,并与表中属性顺序一致插入元组(续)[例3]插入一条选课记录('200215128','1')。INSERTINTOSC(Sno,Cno)VALUES(‘
3、200215128’,‘1’);没有指定值的Grade列将自动地赋空值。或者:INSERTINTOSCVALUES('200215128','1',NULL);没有指定属性名,且某个列没有指定值,则要明确给出空值二、插入子查询结果语句格式INSERTINTO<表名>[(<属性列1>[,<属性列2>…)]子查询;功能将子查询结果插入指定表中SELECT子句目标列必须与INTO子句匹配值的个数值的类型插入子查询结果(续)[例4]对每一个系,求学生的平均年龄,并把结果存入数据库。第一步:建表CREATETABLEDept_age(SdeptCHAR(15)/*系名*/Avg_ageSM
4、ALLINT);/*学生平均年龄*/插入子查询结果(续)第二步:插入数据INSERTINTODept_age(Sdept,Avg_age)SELECTSdept,AVG(Sage)FROMStudentGROUPBYSdept;插入子查询结果(续)RDBMS在执行插入语句时会检查所插元组是否破坏表上已定义的完整性规则实体完整性参照完整性用户定义的完整性NOTNULL约束UNIQUE约束值域约束3.5数据更新1、插入数据2、修改数据3、删除数据修改数据语句格式UPDATE<表名>SET<列名>=<表达式>[,<列名>=<表达式>]…[WHERE<条件>];功能修改指定表中满足WHE
5、RE子句条件的元组修改数据(续)SET子句指定修改方式要修改的列修改后取值WHERE子句指定要修改的元组缺省表示要修改表中的所有元组修改数据(续)三种修改方式1.修改某一个元组的值2.修改多个元组的值3.带子查询的修改语句1.修改某一个元组的值[例5]将学生201215121的年龄改为22岁UPDATEStudentSETSage=22WHERESno='201215121';2.修改多个元组的值[例6]将所有学生的年龄增加1岁UPDATEStudentSETSage=Sage+1;3.带子查询的修改语句[例7]将计算机科学系全体学生的成绩置零。UPDATESCSETGrade=
6、0WHERE'CS'=(SELECTSdeptFROMStudentWHEREStudent.Sno=SC.Sno);修改数据(续)RDBMS在执行修改语句时会检查修改操作是否破坏表上已定义的完整性规则实体完整性主码不允许修改用户定义的完整性NOTNULL约束UNIQUE约束值域约束3.5数据更新1、插入数据2、修改数据3、删除数据删除数据语句格式DELETEFROM<表名>[WHERE<条件>];功能删除指定表中满足WHERE子句条件的元组WHERE子句指定要删除的元组缺省表示要删除表中的全部元组,表的定义仍在字典中删除数据(续)三种删除方式1.删除某一个元组的值2.删除多个元
7、组的值3.带子查询的删除语句1.删除某一个元组的值[例8]删除学号为201215128的学生记录。DELETEFROMStudentWHERESno=201215128';2.删除多个元组的值[例9]删除所有的学生选课记录。DELETEFROMSC;3.带子查询的删除语句[例10]删除计算机科学系所有学生的选课记录。DELETEFROMSCWHERESnoIN(SELECTSnoFROMStudentWHERESdept=‘CS’);空值的处理空值就是“不知道”或“不存在”或“无
此文档下载收益归作者所有