《数据库系统概论》实验报告书 安徽工业大学计算机科学与技术学院
例1-10: (修改数据库表名) 将数据库表S1改名为Student_Temp。 rename S1 to Student_Temp;
② 对重点实验结果进行分析;
在创建数据库表的过程中,首先各字段数据类型要定义准确,由于Oracle操作的不易,完整性在最开始就定义好是很重要的,能够减少很多不必要的麻烦。 ③ 实验中的问题和提高;
实验过程中,语句开始是在DOS环境下写的,因为对语句的不熟练,总是出现差错,然DOS下更改很不方便,一来二去的,浪费了很多时间。后来就写在记事本中,确定无误后在粘贴过去执行,错误大大减少,效率也就提高不少。
④ 收获与体会。
知道怎样配置数据库客户端远程连接数据库;实践了数据库表的创建及其修改。
在实验的开始之前,书本知识都已认真阅览过,认为语句语法等知识都已掌握的差不多,平时也是认为只要基础知识掌握好了,实战起来也不会太难。但当开始动手写语句时,执行成功的总是很少,错误百出。这警示了我,对于计算机这门学问,看起来、读起来、用起来虽很简单,这只是在打水漂,若要正真认识它、掌握它,就不能眼高手低,实际操作并养成习惯是必备技能,也是不可或缺的。
5/19
《数据库系统概论》实验报告书 安徽工业大学计算机科学与技术学院
实验二:数据操纵语言
[ 实验日期 ] 2014年 10 月 19 日 [ 实验目的 ]
在实验一的基础上,熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。 [ 实验内容 ]
2. SQL数据操纵语句:
例2-1:(插入数据) 按前面各表中的数据分别插入到教学数据库的四个数据库表中。
例2-2:(多行插入) 将表Student中在计算机系(‘CS’)的学生数据插入到表Student_Temp中。
(以上操作中,注意用COMMIT提交数据,将数据保存到数据库服务器)
例2-3:(利用查询来实现表的定义与数据插入) 求每一个学生的平均成绩,把结果存入数据库表Student_Gr中。
例2-4: (修改数据) 将Student_Temp表中所有学生的年龄加2。
例2-5: (修改数据) 将Course表中‘程序设计’课时数修改成与‘数据结构’的课时数相同。 例2-6: (插入数据) 向Score表中插入数据(‘98001’, ‘001’, 95),根据返回信息解释其原因。 例2-7: (插入数据) 向Score表中插入数据(‘97001’, ‘010’, 80),根据返回信息解释其原因。 例2-8: (删除数据) 删除Student表中学号为‘96001’的学生信息,根据返回信息解释其原因。 例2-9: (删除数据) 删除Course表中课程号为‘003’ 的课程信息,根据返回信息解释其原因。 例2-10: (删除数据) 删除学生表Student_Temp中学号以96打头的学生信息。
(此操作后,注意用ROLLBACK回退可能更新的数据)
例2-11: (删除数据) 删除数据库表Student_Temp中所有学生的数据。 例2-12:(删除表) 删除数据库表Student_Temp和Student_Gr。 [ 实验要求 ]
对数据库表进行插入、修改和删除数据的操作。 [ 实验方法 ]
① 按照附录中的操作步骤进行客户端的配置;
② 将实验需求用SQL语句表示; ③ 执行SQL语句;
④ 查看执行结果,如果结果不正确,进行修改,直到正确为止。
[ 实验总结 ]
① SQL语句以及执行结果;
例2-1:(插入数据) 按前面各表中的数据分别插入到教学数据库的四个数据库表中。 //插入Student
insert into Student values('96001','马小燕','CS','01',21,'女');
insert into Student values('96002','黎明','CS','01',18,'男');
6/19
《数据库系统概论》实验报告书 安徽工业大学计算机科学与技术学院
insert into Student values('96003','刘东明','MA','01',18,'男');
insert into Student values('96004','赵志勇','IS','02',20,'男');
insert into Student values('97001','马蓉','MA','02',19,'女');
insert into Student values('97002','李成功','CS','01',20,'男');
insert into Student values('97003','黎明','IS','03',19,'女');
insert into Student values('97004','李丽','CS','02',19,'女');
insert into Student values('96005','司马志明','CS','02',18,'男');
//插入Course
insert into Course values('001','数学分析',144);
insert into Course values('002','普通物理',144);
insert into Course values('003','微机原理',72);
insert into Course values('004','数据结构',72);
insert into Course values('005','操作系统',64);
insert into Course values('006','数据库原理',64);
insert into Course values('007','DB_Design',48);
insert into Course values('008','程序设计',56);
//插入Teach
7/19
《数据库系统概论》实验报告书 安徽工业大学计算机科学与技术学院
insert into Teach values('王成刚','男','004',to_date('1999-9-5','yyyy-mm-dd'),'CS');
insert into Teach values('李正科','男','003',to_date('1999-9-5','yyyy-mm-dd'),'CS');
insert into Teach values('严敏','女','001',to_date('1999-9-5','yyyy-mm-dd'),'MA');
insert into Teach values('赵高','男','004',to_date('1999-9-5','yyyy-mm-dd'),'IS');
insert into Teach values('李正科','男','003',to_date('2000-2-23','yyyy-mm-dd'),'MA');
insert into Teach values('刘玉兰','女','006',to_date('2000-2-23','yyyy-mm-dd'),'CS');
insert into Teach values('王成刚','男','004',to_date('2000-2-23','yyyy-mm-dd'),'IS');
insert into Teach values('马悦','女','008',to_date('1999-9-6','yyyy-mm-dd'),'CS');
insert into Teach values('王成刚','男','007',to_date('1999-9-5','yyyy-mm-dd'),'CS');
//插入Score
insert into Score values('96001','001',77.5);
insert into Score values('96001','003',89);
insert into Score values('96001','004',86);
insert into Score values('96001','005',82);
insert into Score values('96002','001',88);
insert into Score values('96002','003',92.5);
insert into Score values('96002','006',90);
insert into Score values('96005','004',92);
insert into Score values('96005','005',90);
insert into Score values('96005','006',89);
insert into Score values('96005','007',76);
insert into Score values('96003','001',69);
insert into Score values('97001','001',96);
insert into Score values('97001','008',95);
insert into Score values('96004','001',87);
insert into Score values('96003','003',91);
insert into Score values('97002','003',91);
insert into Score values('97002','004',null);
insert into Score values('97002','006',92);
insert into Score values('97004','005',90);
insert into Score values('97004','006',85);
insert into Score values('97004','008',75);
insert into Score values('97003','001',59);
insert into Score values('97003','003',58);
8/19
《数据库系统概论》实验报告书 安徽工业大学计算机科学与技术学院
例2-2:(多行插入) 将表Student中在计算机系(‘CS’)的学生数据插入到表Student_Temp中。 insert into Student_Temp select SNO,SNAME,SDEPT,SAGE from Student where SDEPT = 'CS';
例2-3:(利用查询来实现表的定义与数据插入) 求每一个学生的平均成绩,把结果存入数据库表Student_Gr中。
create table Student_Gr(SNO,AVER) as select SNO,avg(Score) from Score group by SNO;
9/19