1、201215128;姓名:陈冬姓名:陈冬;性别:男性别:男;所在系:IS;年龄:18岁岁)插入到插入到Student表中。表中。INSERTINTOStudent(Sno,Sname,Ssex,Sdept,Sage)VALUES(201215128,陈冬陈冬,男男,IS,18);AnIntroductiontoDatabaseSystem插入元组(续)插入元组(续)例例3.71插入一条选课记录插入一条选课记录(200215128,1)。INSERTINTOSC(Sno,Cno)VALUES(201215128,1);关系数据库管理系统将在新插入记录的关系数据库管理系统将在新插入记录的Grade
2、列上自动地列上自动地赋空值。赋空值。或者:INSERTINTOSCVALUES(201215128,1,NULL);AnIntroductiontoDatabaseSystem插入元组(续)插入元组(续)例例3.70将学生张成民的信息插入到将学生张成民的信息插入到Student表中。INSERTINTOStudentVALUES(201215126,张成民张成民,男男,18,CS);AnIntroductiontoDatabaseSystem2.插入子查询结果插入子查询结果v语句格式语句格式INSERTINTO(,)子查询子查询;nINTO子句子句n子查询子查询lSELECT子句目标列必须与子
3、句目标列必须与INTO子句匹配子句匹配值的个数值的个数值的类型值的类型AnIntroductiontoDatabaseSystem插入子查询结果(续)插入子查询结果(续)例例3.72对每一个系,求学生的平均年龄,并把结果存入数据库对每一个系,求学生的平均年龄,并把结果存入数据库第一步:建表第一步:建表CREATETABLEDept_age(SdeptCHAR(15)/*系名系名*/Avg_ageSMALLINT);/*学生平均年龄学生平均年龄*/第二步:插入数据第二步:插入数据INSERTINTODept_age(Sdept,Avg_age)SELECTSdept,AVG(Sage)FROMS
4、tudentGROUPBYSdept;AnIntroductiontoDatabaseSystem插入子查询结果(续)插入子查询结果(续)v关系数据库管理系统在执行插入语句时会检查所关系数据库管理系统在执行插入语句时会检查所插元组是否破坏表上已定义的完整性规则插元组是否破坏表上已定义的完整性规则n实体完整性实体完整性n参照完整性参照完整性n用户定义的完整性用户定义的完整性lNOTNULL约束约束lUNIQUE约束约束l值域约束值域约束AnIntroductiontoDatabaseSystem3.5数据更新数据更新3.5.1插入数据插入数据3.5.2修改数据修改数据3.5.3删除数据删除数据A
5、nIntroductiontoDatabaseSystem3.5.2修改数据修改数据v语句格式语句格式UPDATESET=,=WHERE;v功能功能n修改指定表中满足修改指定表中满足WHERE子句条件的元组子句条件的元组nSET子句给出子句给出的值用于取代相应的属性列的值用于取代相应的属性列n如果省略如果省略WHERE子句,表示要修改表中的所有元组子句,表示要修改表中的所有元组AnIntroductiontoDatabaseSystem修改数据(续)修改数据(续)v三种修改方式三种修改方式n修改某一个元组的值修改某一个元组的值n修改多个元组的值修改多个元组的值n带子查询的修改语句带子查询的修改
6、语句AnIntroductiontoDatabaseSystem1.修改某一个元组的值修改某一个元组的值例例3.73将学生将学生201215121的年龄改为的年龄改为22岁岁UPDATEStudentSETSage=22WHERESno=201215121;AnIntroductiontoDatabaseSystem2.修改多个元组的值修改多个元组的值例例3.74将所有学生的年龄增加将所有学生的年龄增加1岁。岁。UPDATEStudentSETSage=Sage+1;AnIntroductiontoDatabaseSystem3.带子查询的修改语句带子查询的修改语句例例3.75将计算机科学系全
7、体学生的成绩置零。将计算机科学系全体学生的成绩置零。UPDATESCSETGrade=0WHERESnoIN(SELETESnoFROMStudentWHERESdept=CS);AnIntroductiontoDatabaseSystem修改数据(续)修改数据(续)v关系数据库管理系统在执行修改语句时会检查修关系数据库管理系统在执行修改语句时会检查修改操作是否破坏表上已定义的完整性规则改操作是否破坏表上已定义的完整性规则n实体完整性实体完整性n主码不允许修改主码不允许修改n用户定义的完整性用户定义的完整性lNOTNULL约束约束lUNIQUE约束约束l值域约束值域约束AnIntroducti
8、ontoDatabaseSystem3.5数据更新数据更新3.5.1插入数据插入数据3.5.2修改数据修改数据3.5.3删除数据删除数据AnIntroductiontoDatabaseSystem3.5.3删除数据删除数据v语句格式语句格式DELETEFROMWHERE;v功能功能n删除指定表中满足删除指定表中满足WHERE子句条件的元组子句条件的元组vWHERE子句子句n指定要删除的元组指定要删除的元组n缺缺省省表表示示要要删删除除表表中中的的全全部部元元组组,表表的的定定义义仍仍在在字字典中典中AnIntroductiontoDatabaseSystem删除数据(续)删除数据(续)v三种删
9、除方式三种删除方式n删除某一个元组的值删除某一个元组的值n删除多个元组的值删除多个元组的值n带子查询的删除语句带子查询的删除语句AnIntroductiontoDatabaseSystem1.删除某一个元组的值删除某一个元组的值例例3.76删除学号为删除学号为201215128的学生记录。的学生记录。DELETEFROMStudentWHERESno=201215128;AnIntroductiontoDatabaseSystem2.删除多个元组的值删除多个元组的值例例3.77删除所有的学生选课记录。删除所有的学生选课记录。DELETEFROMSC;AnIntroductiontoDataba
10、seSystem3.带子查询的删除语句带子查询的删除语句例例3.78删除计算机科学系所有学生的选课记录。删除计算机科学系所有学生的选课记录。DELETEFROMSCWHERESnoIN(SELETESnoFROMStudentWHERESdept=CS);AnIntroductiontoDatabaseSystem第三章第三章关系数据库标准语言关系数据库标准语言SQL3.1SQL概述概述3.2学生学生-课程数据库课程数据库3.3数据定义数据定义3.4数据查询数据查询3.5数据更新数据更新3.6空值的处理空值的处理3.7视图视图3.8小结小结AnIntroductiontoDatabaseSys
11、tem3.6空值的处理空值的处理v空值就是空值就是“不知道不知道”或或“不存在不存在”或或“无意义无意义”的值。的值。v一般有以下几种情况:一般有以下几种情况:n该属性应该有一个值,但目前不知道它的具体值该属性应该有一个值,但目前不知道它的具体值n该属性不应该有值该属性不应该有值n由于某种原因不便于填写由于某种原因不便于填写AnIntroductiontoDatabaseSystem1.空值的产生空值的产生v空值是一个很特殊的值,含有不确定性。对关系运算空值是一个很特殊的值,含有不确定性。对关系运算带来特殊的问题,需要做特殊的处理。带来特殊的问题,需要做特殊的处理。v空值的产生空值的产生例例3
12、.79向向SC表中插入一个元组,学生号是表中插入一个元组,学生号是”201215126”,课,课程号是程号是”1”,成绩为空。,成绩为空。INSERTINTOSC(Sno,Cno,Grade)VALUES(201215126,1,NULL);/*该学生还没有考试成绩,取空值该学生还没有考试成绩,取空值*/或或INSERTINTOSC(Sno,Cno)VALUES(201215126,1);/*没有赋值的属性,其值为空值没有赋值的属性,其值为空值*/AnIntroductiontoDatabaseSystem空值的产生(续)空值的产生(续)例例3.80将将Student表中学生号为表中学生号为”
13、201215200”的学生所属的学生所属的系改为空值。的系改为空值。UPDATEStudentSETSdept=NULLWHERESno=201215200;AnIntroductiontoDatabaseSystem2.空值的判断空值的判断v判断一个属性的值是否为空值,用判断一个属性的值是否为空值,用ISNULL或或ISNOTNULL来表示。来表示。例例3.81从从Student表中找出漏填了数据的学生信息表中找出漏填了数据的学生信息SELECT*FROMStudentWHERESnameISNULLORSsexISNULLORSageISNULLORSdeptISNULL;AnIntroductiontoDatabaseSystem3.空值的约束条件空值的约束条件v属性定义(或者域定义)中属性定义(或者域定义)中n有有NOTNULL约束条件的不能取空值约束条件的不能取空值n加了加了UNIQUE限制的属性不能取空值限制的属性不
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1