第3章关系数据库语言SQL优质PPT.ppt
- 文档编号:15562784
- 上传时间:2022-11-05
- 格式:PPT
- 页数:71
- 大小:2.73MB
第3章关系数据库语言SQL优质PPT.ppt
《第3章关系数据库语言SQL优质PPT.ppt》由会员分享,可在线阅读,更多相关《第3章关系数据库语言SQL优质PPT.ppt(71页珍藏版)》请在冰豆网上搜索。
201215128;
姓名:
陈冬姓名:
陈冬;
性别:
男性别:
男;
所在系:
IS;
年龄:
18岁岁)插入到插入到Student表中。
表中。
INSERTINTOStudent(Sno,Sname,Ssex,Sdept,Sage)VALUES(201215128,陈冬陈冬,男男,IS,18);
9插入元组(续)插入元组(续)例例3.71插入一条选课记录插入一条选课记录(200215128,1)。
INSERTINTOSC(Sno,Cno)VALUES(201215128,1);
关系数据库管理系统将在新插入记录的关系数据库管理系统将在新插入记录的Grade列上自动地列上自动地赋空值。
赋空值。
或者:
INSERTINTOSCVALUES(201215128,1,NULL);
10插入元组(续)插入元组(续)例例3.70将学生张成民的信息插入到将学生张成民的信息插入到Student表中。
INSERTINTOStudentVALUES(201215126,张成民张成民,男男,18,CS);
112.2.插入子查询结果插入子查询结果v语句格式语句格式INSERTINTO(,)子查询子查询;
nINTO子句子句n子查询子查询lSELECT子句目标列必须与子句目标列必须与INTO子句匹配子句匹配值的个数值的个数值的类型值的类型12插入子查询结果(续)插入子查询结果(续)例例3.72对每一个系,求学生的平均年龄,并把结果存入数据库对每一个系,求学生的平均年龄,并把结果存入数据库第一步:
建表第一步:
建表CREATETABLEDept_age(SdeptCHAR(15)/*系名系名*/Avg_ageSMALLINT);
/*学生平均年龄学生平均年龄*/第二步:
插入数据第二步:
插入数据INSERTINTODept_age(Sdept,Avg_age)SELECTSdept,AVG(Sage)FROMStudentGROUPBYSdept;
13插入子查询结果(续)插入子查询结果(续)v关系数据库管理系统在执行插入语句时会检查所插元组是否破坏关系数据库管理系统在执行插入语句时会检查所插元组是否破坏表上已定义的完整性规则表上已定义的完整性规则n实体完整性实体完整性n参照完整性参照完整性n用户定义的完整性用户定义的完整性lNOTNULL约束约束lUNIQUE约束约束l值域约束值域约束143.53.5数据更新数据更新3.5.1插入数据插入数据3.5.2修改数据修改数据3.5.3删除数据删除数据153.5.23.5.2修改数据修改数据v语句格式语句格式UPDATESET=,=WHERE;
v功能功能n修改指定表中满足修改指定表中满足WHERE子句条件的元组子句条件的元组nSET子句给出子句给出的值用于取代相应的属性列的值用于取代相应的属性列n如果省略如果省略WHERE子句,表示要修改表中的所有元组子句,表示要修改表中的所有元组16修改数据(续)修改数据(续)v三种修改方式三种修改方式n修改某一个元组的值修改某一个元组的值n修改多个元组的值修改多个元组的值n带子查询的修改语句带子查询的修改语句1711.修改某一个元组的值修改某一个元组的值例例3.73将学生将学生201215121的年龄改为的年龄改为22岁岁UPDATEStudentSETSage=22WHERESno=201215121;
182.2.修改多个元组的值修改多个元组的值例例3.74将所有学生的年龄增加将所有学生的年龄增加1岁。
岁。
UPDATEStudentSETSage=Sage+1;
193.3.带子查询的修改语句带子查询的修改语句例例3.75将计算机科学系全体学生的成绩置零。
将计算机科学系全体学生的成绩置零。
UPDATESCSETGrade=0WHERESnoIN(SELETESnoFROMStudentWHERESdept=CS);
20修改数据(续)修改数据(续)v关系数据库管理系统在执行修改语句时会检查修改操作是否破坏表关系数据库管理系统在执行修改语句时会检查修改操作是否破坏表上已定义的完整性规则上已定义的完整性规则n实体完整性实体完整性n主码不允许修改主码不允许修改n用户定义的完整性用户定义的完整性lNOTNULL约束约束lUNIQUE约束约束l值域约束值域约束213.53.5数据更新数据更新3.5.1插入数据插入数据3.5.2修改数据修改数据3.5.3删除数据删除数据223.5.33.5.3删除数据删除数据v语句格式语句格式DELETEFROMWHERE;
v功能功能n删除指定表中满足删除指定表中满足WHERE子句条件的元组子句条件的元组vWHERE子句子句n指定要删除的元组指定要删除的元组n缺省表示要删除表中的全部元组,表的定义仍在字典中缺省表示要删除表中的全部元组,表的定义仍在字典中23删除数据(续)删除数据(续)v三种删除方式三种删除方式n删除某一个元组的值删除某一个元组的值n删除多个元组的值删除多个元组的值n带子查询的删除语句带子查询的删除语句241.1.删除某一个元组的值删除某一个元组的值例例3.76删除学号为删除学号为201215128的学生记录。
的学生记录。
DELETEFROMStudentWHERESno=201215128;
252.2.删除多个元组的值删除多个元组的值例例3.77删除所有的学生选课记录。
删除所有的学生选课记录。
DELETEFROMSC;
263.3.带子查询的删除语句带子查询的删除语句例例3.78删除计算机科学系所有学生的选课记录。
删除计算机科学系所有学生的选课记录。
DELETEFROMSCWHERESnoIN(SELETESnoFROMStudentWHERESdept=CS);
27第三章第三章关系数据库标准语言关系数据库标准语言SQLSQL3.1SQL概述概述3.2学生学生-课程数据库课程数据库3.3数据定义数据定义3.4数据查询数据查询3.5数据更新数据更新3.6空值的处理空值的处理3.7视图视图3.8小结小结283.63.6空值的处理空值的处理v空值就是空值就是“不知道不知道”或或“不存在不存在”或或“无意义无意义”的值。
的值。
v一般有以下几种情况:
一般有以下几种情况:
n该属性应该有一个值,但目前不知道它的具体值该属性应该有一个值,但目前不知道它的具体值n该属性不应该有值该属性不应该有值n由于某种原因不便于填写由于某种原因不便于填写291.1.空值的产生空值的产生v空值是一个很特殊的值,含有不确定性。
对关系运算带来特殊的问题,空值是一个很特殊的值,含有不确定性。
对关系运算带来特殊的问题,需要做特殊的处理。
需要做特殊的处理。
v空值的产生空值的产生例例3.79向向SC表中插入一个元组,学生号是表中插入一个元组,学生号是”201215126”,课程号是,课程号是”1”,成绩为空。
,成绩为空。
INSERTINTOSC(Sno,Cno,Grade)VALUES(201215126,1,NULL);
/*该学生还没有考试成绩,取空值该学生还没有考试成绩,取空值*/或或INSERTINTOSC(Sno,Cno)VALUES(201215126,1);
/*没有赋值的属性,其值为空值没有赋值的属性,其值为空值*/30空值的产生(续)空值的产生(续)例例3.80将将Student表中学生号为表中学生号为”201215200”的学生所属的系改为空值。
的学生所属的系改为空值。
UPDATEStudentSETSdept=NULLWHERESno=201215200;
312.空值的判断空值的判断v判断一个属性的值是否为空值,用判断一个属性的值是否为空值,用ISNULL或或ISNOTNULL来表示。
来表示。
例例3.81从从Student表中找出漏填了数据的学生信息表中找出漏填了数据的学生信息SELECT*FROMStudentWHERESnameISNULLORSsexISNULLORSageISNULLORSdeptISNULL;
323.空值的约束条件空值的约束条件v属性定义(或者域定义)中属性定义(或者域定义)中n有有NOTNULL约束条件的不能取空值约束条件的不能取空值n加了加了UNIQUE限制的属性不能取空值限制的属性不能取空值n码属性不能取空值码属性不能取空值334.4.空值空值的算术运算、比较运算和逻辑运算的算术运算、比较运算和逻辑运算n空值与另一个值(包括另一个空值)的算术运算的结果为空值空值与另一个值(包括另一个空值)的算术运算的结果为空值n空值与另一个值(包括另一个空值)的比较运算的结果为空值与另一个值(包括另一个空值)的比较运算的结果为UNKNOWN。
n有有UNKNOWN后,传统二值(后,传统二值(TRUE,FALSE)逻辑就扩展成了三值逻辑)逻辑就扩展成了三值逻辑34空值空值的算术运算、比较运算和逻辑运算的算术运算、比较运算和逻辑运算(续续)xyxANDyxORyNOTxTTTTFTUUTFTFFTFUTUTUUUUUUUFFUUFTFTTFUFUTFFFFTT表示表示TRUE,F表示表示FALSE,U表示表示UNKNOWN表表3.8逻辑运算符真值表逻辑运算符真值表35空值的算术运算、比较运算和逻辑运算(续)空值的算术运算、比较运算和逻辑运算(续)例例3.82找出选修找出选修1号课程的不及格的学生。
号课程的不及格的学生。
SELECTSnoFROMSCWHEREGrade60ANDCno=1;
查询结果不包括缺考的学生,因为他们的查询结果不包括缺考的学生,因为他们的Grade值为值为null。
36空值的算术运算、比较运算和逻辑运算(续)空值的算术运算、比较运算和逻辑运算(续)SELECTSnoFROMSCWHEREGrade60ANDCno=1UNIONSELECTSnoFROMSCWHEREGradeISNULLANDCno=1或者或者SELECTSnoFROMSCWHERECno=1AND(Grade60ORGradeISNULL);
例例3.83选出选修选出选修1号课程的不及格的学生以及缺考的学生。
号课程的不及格的学生以及缺考的学生。
37第三章第三章关系数据库标准语言关系数据库标准语言SQLSQL3.1SQL概述概述3.2学生学生-课程数据库课程数据库3.3数据定义数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 语言 SQL