文档介绍:该【数据库查询 实验报告综述 】是由【学锋】上传分享,文档一共【13】页,该文档可以免费在线阅读,需要了解更多关于【数据库查询 实验报告综述 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..实验报告课程名称:数据库系统概论学院:工程学院专业:年级:班级:姓名:学号:指导教师:2015年12月10日:..教务处制:..实验名称:数据库查询实验二教时间:2015-12-10师地点:三教205机房评语班组:;;、更新、删除数据等操作。2实验工具KingbaseES利用KingbaseES及其交互式查询工具ISQLW来熟悉SQL。-课程数据库的基础上,-97的各例题;,记录所有的实验用例。(学号:201215128,姓名:陈东,性别:男,年龄:18,所在系:IS)插入到student表中。VALUES('201215128','陈冬','男','IS',18);:..注意:在INTO子句中指出了表名student,并指出了新增加的元组在哪些属性上要赋值,属性的顺序可以与CREATETABLE中的顺序不一样。。VALUES('201215126','张成民','男','18','CS');注意:值与属性要一一对应。('201215128','1')(o)VALUES('201215128','1');SELECT*注意:在新插入的记录中GRADE列自动地赋空值。或者:VALUES('201215128','1',null);SELECT*注意:若直接在SC中直接插入选课记录,由于没有指出SC的属性名,在GRADE列上要明确给出空值NULL。,求学生的平均年龄,并把结果存入数据库中。创建新表CREATETABLEdept_age(sdeptCHAR(15),avg_agesmallint);把系名和平均年龄存入新表:..insertintodept_age(Sdept,avg_age)selectsdept,avg(sage)groupbysdept;。SETSage=22WHEREsno=200215121;select*。SETSage=sage+1;select*。SETGrade=0wheresnoin(selectsnowheresdept='cs');SELECT*:..。DELETEWHEREsno='201215128';select**注意:这条DELETE语句将使SC成为空表,它删除了SC的所有元组。*WHEREsnoinwheresdept='cs');注意:由于SC表全是CS系的,故结果为空表。:..('201215128','1',NULL);/*在插入该学生还没有考试成绩,取空值*/或者:VALUES('201215126','1');/*在插入语句中没有赋值的属性,其值为空值*/=NULLWHERESNO='201215123';注意:另外,外连接也会产生空值,空值的关系运算也会产生空值。*WHERESNAMEISNULLORSSEXISNULLORSDEPTISNULL;<O='1';注意:选出的学生是那些参加了考试而不及格的学生,不包括缺考的学生。<O='1':..UNIONO='1';,SNAME,SAGEWHERESDEPT='IS';,并要求进行修改和插入操作时仍保证该视图只有信息系的学生。CREATEVIEWIS_STUDENTASSELECTSNO,SNAME,SAGEWHERESDEPT='IS'WITHCHECKOPTION;/*如果不加这个语句,可以把IS修改成其他的系,比如CS,加上这个语句之后会发现改不了,只能是IS*/(包括学号、姓名、成绩)CREATEVIEWIS_S1(SNO,SNAME,GRADE),SNAME,GRADEWHERESDEPT='IS'=='1';:..,SNAME,GRADEWHEREGRADE>=90;注意:这里的视图IS_S2就是建立在IS_S1之上的。(SNO,SNAME,SBIRTH)ASSELECTSNO,SNAME,2014-SAGE注意:这里的视图BT_S是一个带表达式的视图。视图中的出生年份值是通过计算得到的。还可以用带有聚集函数和GROUPBY子句的查询来定义视图,这种视图称为分组视图。(SNO,GAVG)ASSELECTSNO,AVG(GRADE)GROUPBYSNO;注意:由于AS子句中的SELECT语句的目标列平均成绩是通过作用聚集函数得到的,所以CREATEVIEW中必须明确定义组成S_G视图的各个属性列名。S_G是一个分组视图。(F_SNO,NAME,SEX,AGE,DEPT)ASWHERESSEX='女';:..注意:这里视图F_STUDENT是由子查询“SELECT*”建立的。F_STUDENT视图的属性列要与STUDENT表的属性一一对应。否则会出错。;/*成功执行*/DROPVIEWIS_S1;/*拒绝执行*/执行此语句时由于IS_S1视图上还导出了IS_S2视图,所以该语句被拒绝执行。如果确定要删除,则使用级联删除语句。DROPVIEWIS_S1CASCADE;/*删除了视图IS_S1和由它导出的所有视图*/<20;注意:视图定义后,用户可以像对基本表一样对视图进行查询了。,=='1';,AVG(GRADE)GROUPBYSNOHAVINGAVG(GRADE)>=90;或者:SELECT*FROM(SELECTSNO,AVG(GRADE)/*子查询生成一个派生表S_G*/GROUPBYSNO)ASS_G(SNO,GAVG)HAVINGGRADE>=90;注意:WHERE子句中不能用聚集函数作为条件表达式。视图一旦定义,其定义将永久保存在数据字典中,之后的所有查询都可以直接引用该视图。而派生表株数在语句执行时临时定义,语句执行后该定义将被删除。“200215125”的学生姓名改为“刘辰”UPDATEIS_STUDENTSETSNAME='刘辰':..,其中学号为“201215129”,姓名为“赵新”,年龄为20岁INSERTVALUES('201215129','赵新',20,'IS');“201215129”的记录。DELETEWHERESNO='201215129'ANDSDEPT='IS';,由于没有指出SC的属性名,在GRADE列上要明确给出空值NULL。,所以CREATEVIEW中必须明确定义组成S_G视图的各个属性列名。S_G是一个分组视图。“SELECT*”建立的。F_STUDENT视图的属性列要与STUDENT表的属性一一对应。否则会出错。,用户可以像对基本表一样对视图进行查询了。。视图一旦定义,其定义将永久保存在数据字典中,之后的所有查询都可以直接引用该视图。而派生表株数在语句执行时临时定义,语句执行后该定义将被删除。:1)若视图是由两个以上基本表导出的,则此视图不允许更新。2)若视图的字段来自字段表达式或常数,则不允许对此视图执行INSERT和UPDATE操作,但允许执行delete操作。3)若视图的字段来自聚集函数,则此视图不允许更新4)若视图定义中含有GroupBy子句,则此视图不允许更新:..)若视图定义中含有DISTINGCT短语,则此视图不允许更新6)若视图定义中有嵌套查询,并且内层查询的from子句中设计的表也是导出该视图的基本表,则此视图不允许更新。例如,将SC中成绩在平均成绩之上的元组定义成一个视图GOOD_SC:CREATEVIEWGOOD_SCASWHEREGrade>(SELECTAVG(Grade);不允许更新7)一个不允许更新的视图也是不允许更新