数据库实验3

上传人:ba****u 文档编号:138473553 上传时间:2022-08-21 格式:DOCX 页数:10 大小:48.28KB
收藏 版权申诉 举报 下载
数据库实验3_第1页
第1页 / 共10页
数据库实验3_第2页
第2页 / 共10页
数据库实验3_第3页
第3页 / 共10页
资源描述:

《数据库实验3》由会员分享,可在线阅读,更多相关《数据库实验3(10页珍藏版)》请在装配图网上搜索。

1、任课教师:舒挺数据库原理及应用(2013-2014学年第1学期)实验报告学号:姓名: 班级:实验三数据库的更新实验一、实验目的:本实验的目的是要求学生熟练掌握使用SQL和通过SQL Server企业管理器向数据库输入 数据、修改数据和删除数据的操作。二、相关知识:SQL Seiver提供了很多方法更新表中数据。以插入记录为例,可以使用INSERT语句、 VALUES子句将特定值集合插入一行:可以使用数据库接I I API (ADO、OLE DB. ODBC 和DB-Libraiy)中的函数进行数据插入等。本实验主要掌握INSERT. UPDATE和DELETE 语句的基本用法。1. 插入操作,

2、其语句的一般格式为INSERTINTO table_or_view (colum_list)VALUES (date_values);此语句是使date_values作为一行数据记录插入己命名的表或视图table_or_view中。ColumnJist是由逗号分隔的table_or_view的列名列表,用来指定为其提供数据的列。如果 没有指定columnJist,表或视图中的所有列都将接收数据。如果coluiwijist没有为表或视图中的所有列命名,将在列表中没有命名的任何列中插入一 个NULL值(或者在默认情况下为这些列定义的默认值)。在列的列表中没有指定的所有列 都必须允许NULL值或者指

3、定的默认值。否则SQL Server将返回一个错误。2. 修改操作语句的一般格式为UPDATE表名SET v列名 =表达式 ,v列名=v表达式习where v 条件;其功能是修改指定表中满足WHERE子句条件的元组。其中SET子句用于指定修改方 法,即用v表达式的值取代相应的属性列值。如果省略WHERE子句,则表示要修改表中 的所有元组。3. 删除语句的一般格式为DELETEFROM v表名WHERE v条件;其功能是从指定表中删除满足WHERE子句条件的所有元组。如果省略WHERE子句, 则表示要删除表中的所有元组,但表的定义仍在字典中。三、实验内容:1. 通过企业管理器,在学生管理数据库的

4、学生、课程和选课3个表中各输入10条记录。 要求记录不仅满足数据约束要求,还要有表间关联的记录。2. 具体完成以下例题。将它们转换为SQL语句表示,在学生管理库中实现其数据更新操 作。例1将一新学生记录(学号:95050;姓名:陈冬;性别:男;年龄:18:所在系:计算机 科学系)插入学生表中。例2插入一条选课记录C95020,Cr)o例3对每一个系,求学生的平均年龄,并把结果存入数据库。对于这道题,首先要在数据库中建立一个有两个属性列的新表,其中一列存放系名,另一列存放相应系的学生平 均年龄。CREATE TABLE Deptage (所在系 CHAR (20),平均年龄 SMALLINT);

5、然后对数据库的学生表按所在系分组求平均年龄,再把所在系和平均年龄存入新表中。例4将学生95001的年龄改为22岁。例5将所有学生的年龄增加一岁。例6将计算机科学系全体学生的成绩置零。例7删除学号为95006的学生记录例8删除所有的学生选课记录例9删除计算机科学系所有学生的选课记录 四、实验步骤将查询需求用SQL语言表示;在SQL Seiver查询分析器的输入区中输入SQL查询语句; 设置查询分析器的结果区为Standard Execute (标准执行)或Execute to Gnd (网格执行)方式; 发布执行命令,并在结果区中查看查询结果:如果结果不正确,要进行修改,直到正确为止。五、实验代

6、码及结果1、先还原数据库,并建立正确的关系图2、具体完成以下例题。将它们转换为SQL语句表示,在学生管理库中实现其数据更新操作。例1将一新学生记录(学号:95050;姓名:陈冬;性别:男;年龄:18:所在系:计算机 科学系)插入学生表中。相关代码日INSERTINTO srudenc (Snof Snarr-e, Ssexr Sdept F Sag已) -VALUES ( 1 95050 1 r陈冬。男/ 工5 口8) ;| 运行前SfXSnarneSsex95CO195CO2刘度女95CO3王名玄95C04城立95CO5孕明95C06弓的电女95C07女*林L运行后S.qSdept20CS1

7、9B18MA19B22CS23B20MAAUZmSrwncSstxSageA迎!Sacs刘底女访Bjfcr瑾9祁王右女IS初僧SS4野立nH13内容95季期财23G$95&M鼻小概女E/9 女aHAII95050陈冬舆ISE5ClNULL)o相关代码 INSERTINTO student (Sno, Snarr.e, Ssexr Sdepc, Sage) -VALUES (-95020- 洪嘉宜,广女 BIS 18) n INSERTINTO course (Cnor Cnair.e r Cpno F Car edit)-VALUES (-Cl1 z 据库 1,2)RINSERTINTO sc

8、 (Snoz Cnor Grade|i-VALUES(1950201f 9 Cl9fNULL);运行结果SnoSnameSfxSageSdept95001李史里20CS95002女19E95003王名女18MA折早9SQO4张立史19E 内容9500522CS95005弓初、悔女23石/95007女20MA /,L9 SO 20好直女IB95050陈冬奥18B*MALMALNULLNULLNULLCnoCnameCpnoCcreditn我据摩5V2故字M4Z2345f*息菜妹探作系统致扼结构167; 新增:内容6我邳t理NUUJ/7PASCAliEM.6LCl效据岸1米NULLAOUMd.Sn

9、oCnoGrdeAH :i::1929S00128595001388)50022909SOO23809SOO31789SOO3280950049S0049SO05141:新增8内容9SOO5389 f9SOO6380 /-4L9W20Cl/NULL*NULLMJUNULL分析:由于SC表中的Sno和Cno是的外键,则需要分别参照student表和course表,而95020 的学号在student表中并不存在,且Cno为C1的课程在course表中也不存在,故需要先在student表和course表中建立学号为95020的学生信息以及在course表中增加课程号为C1 的课程信息后,建好之后才

10、能在sc表中插AC95O2O,C1NULL)的选课记录。例3对每一个系,求学生的平均年龄,并把结果存入数据库。对于这道题,首先要在数据 库中建立一个有两个属性列的新表,其中一列存放系名,另一列存放相应系的学生平 均年龄。CREATE TABLE Deptage (所在系 CHAR (20),平均年龄 SMALLINT);然后对数据库的学生表按所在系分组求平均年龄,再把所在系和平均年龄存入新表中。 相关代码E CREATE TABLE DEPTAGE (Sdept CHAR(20)- Avg_age INT,);A INSERTINTO DEPTAGE(SdepczAvg_age)SELECT

11、SdeptrAVG(Sage)FROM student-GROUP BY Sdept;运行结果L3日增加的3 U黝踵 dboxourses| dbo,DEPTAGE I0 d botudentSdeptAvg.age121E19MA19米NULLNULL分析:先建立一张新表用于存放相应系的学生平均年龄,然后再通过GROUP BY子句按系 进行分组,得到相应的平均值。例4将学生95001的年龄改为22岁。相关代码 UPDATE studentSET Sage=22-WHERE Sno=950011;运行前SnoSnameSsexSageSdept运行后95001李勇奥20CSSnoSnameSs

12、exSageSdept李勇22CS分析:调用UPDATE方法使得当条件满足学号为95001时,更新该同学的年龄为22。例5将所有学生的年龄增加一岁。相关代码 UPDATE student:卜 SET Sage=Sage+l;运行前SnoSnameSsexSageSdept李舆男22CS95002刘晨女19IS95003王名女18MA95004张立19IS95005李明22CS95006张小梅女23IS95007封晓文女20MA95020洪嘉宜女18IS95050陈冬男18IS来NULLNULLNULLMJLLNULL运行后:SnoSnameSsexSageSdeptkbsooi 幽李更23CS

13、95002刘晨20IS95003王名19MA95004张立20IS95005李明23CS95006张小梅24IS95007封晓文21MA95020洪嘉宜19IS95050陈冬19IS米NULLNULLNULLMJLLNULL分析:调用UPDATE方法使得每个学生的年龄都加lo例6将计算机科学系全体学生的成绩置零相关代码 UPDATE scSET Grade=OWHERE(SELECT SdeptFROM student-WHERE scud已n匚.Sno=5CSno);运行前SnoCroGrade19295DD1285950313889SOJ22909503238095033178955332

14、8095OT4190QSO34460955351809503538995DD53809503746595020ClNULL半/娅AUZNULL运行后SnoCroGrade卜1095001209500130950022R950023EO9500317895D03260950041SO95004q095005i09500530950063SO9500746595020Clfmu*NULLAWfmu分析:在WHERE子句中套用SELECT语句,得到计算机科学系的学生,再对满足该条件 的元组的成绩置为零。例7删除学号为95006的学生记录 相关代码 DELETEFROM student-WHERE S

15、no=,95006,;运行结果SnoSnameSsexSageSdept李勇勇23CS95002刻晨玄20IS95003王名女19MA95004张立20IS95005李明23CS95007封晓文女21MA95020洪嘉宜女19IS95050陈冬男19IS米NULLNULLNULLNULLNULLSnoCnoGrade109500120950013095002290950023809500317895003280950C4190950C44609500510950053095007q6595020ClNLAL米NULLNULLNULL分析:WHERE语句指出需要删除的条件,即删除的学号为9500

16、6的学生。例8删除所有的学生选课记录(先完成例9) 相关代码 DELETE|- FROM sc运行结果SnoCnoGrade米NULLNULLNULL分析:由于例8需要删除全表,则会使得例9无法进行,故先进行例9的操作。例9删除计算机科学系所有学生的选课记录相关代码日 DELETEFROM scWHERE CS=(SELECT SdsptFROM student-WHERE student.Sno=sc.Sno);运行结果SnoCnoGrade29095002380950031789500328095004190950044609500746595020ClAUZ米一NULLNULLMJL1分析:在WHERE子句中套用SELECT语句,得到计算机科学系的学生,再对满足该条件 的元组的选课记录进行删除。六、实验心得:

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!