《数据语言的使用实验报告计算机C资料_计算机-C++资料.pdf》由会员分享,可在线阅读,更多相关《数据语言的使用实验报告计算机C资料_计算机-C++资料.pdf(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、一、实验题目:数据定义语言、操纵语言,复杂 SELECT 语句的使用 二、实验环境:VISUAL STUDI02010+SQL SERVER2008 三、实验目的:通过实验,了解 SQL SERVER2008中进行所有的数据库操作,如:创建 数据库,建立数据表,为表建立主键、外键,删除和修改表结构以及使用 SQL 语句对数据库进行前面相应的操作。(2)通过实验了解 SQL 语言有哪些数据操纵语句,熟悉这些语句的使用方法。(3)能够灵活地使用数据操纵语言对数据库的数据进行复杂的增、删、改等操作。(4)了解 SQL 的查询使用。熟练地掌握 SQL 中的常用 SELECT 语句。(6)能够对已经建立
2、好的数据库中的数据进行各种查询操作。(7)通过本实验,能够对数据定义语言、操纵语言,复杂 SELECT 语句的使用 有比较深刻的理解。四、实验内容:一利用以下 SQL 语句创建数据表并插入数据 CREATE TABLE STUDENT(SNO VARCHAR(3)NOT NULL,SNAME VARCHAR(4)NOT NULL,SSEX VARCHAR(2)NOT NULL,SBIRTHDAY DATETIME,CLASS VARCHAR(5)go CREATE TABLE COURSE(CNO VARCHAR(5)NOT NULL,CNAME VARCHAR(10)NOT NULL,TNO
3、 VARCHAR(10)NOT NULL)go CREATE TABLE SCORE(SNO VARCHAR(3)NOT NULL,CNO VARCHAR(5)NOT NULL,DEGREE NUMERIC(10,1)NOT NULL)go CREATE TABLE TEACHER(TNO VARCHAR(3)NOT NULL,TNAME VARCHAR(4)NOT NULL,TSEX VARCHAR(2)NOT NULL,TBIRTHDAY DATETIME NOT NULL,PROF VARCHAR(6),DEPART VARCHAR(10)NOT NULL)INSERT INTO STU
4、DENT(SNO,SNAME,SSEX,SBIRTHDAY,CLASS)VALUES(1曾8,华,男,1977-09-01,95033);INSERT INTO STUDENT(SNO,SNAME,SSEX,SBIRTHDAY,CLASS)VALUES(1匡5,明,男,1975-10-02,95031);INSERT INTO STUDENT(SNO,SNAME,SSEX,SBIRTHDAY,CLASS)VALUES(1王7,丽,女,1976-01-23,95033);INSERT INTO STUDENT(SNO,SNAME,SSEX,SBIRTHDAY,CLASS)VALUES(1李1,军
5、,男,1976-02-20,95033);INSERT INTO STUDENT(SNO,SNAME,SSEX,SBIRTHDAY,CLASS)VALUES(1王9,芳,女,1975-02-10,95031);INSERT INTO STUDENT(SNO,SNAME,SSEX,SBIRTHDAY,CLASS)VALUES(1 陆3,君,男,1974-06-03,95031);GO INSERT INTO COURSE(CNO,CNAME,TNO)VALUES(3-105计算机导论,825)INSERT INTO COURSE(CNO,CNAME,TNO)VALUES(3-245操作系统,80
6、4);INSERT INTO COURSE(CNO,CNAME,TNO)VALUES(6-166数据电路,856);INSERT INTO COURSE(CNO,CNAME,TNO)VALUES(9-888高等数学,100);GO INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES(103,3-245,86);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES(105,3-245,75);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES(109,3-245,68);INSERT INTO SCORE(SNO,
7、CNO,DEGREE)VALUES(103,3-105,92);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES(105,3-105,88);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES(109,3-105,76);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES(101,3-105,64);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES(107,3-105,91);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES(108,3-105,78
8、);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES(101,6-166,85);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES(107,6-106,79);INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES(108,6-166,81);GO INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)VALUES(804,李诚,男,1958-12-02,副教授,计算机系);INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIR
9、THDAY,PROF,DEPART)VALUES(856,张旭,男,1969-03-12,讲师,电子工程系);如创建数据库建立数据表为表建立主键外键删除和修改表结构以及使用语句对数据库进行前面相应的操作通过实验了解语言有哪些数据操纵语句熟悉这些语句的使用方法能够灵活地使用数据操纵语言对数据库的数据进行复杂的增删实验能够对数据定义语言操纵语言复杂有比较深刻的理解语句的使用四实验内容一利用以下语句创建数据表并插入数据曾华男明男丽女军男芳女君男计算机导论操作系统数据电路匡王李王陆高等数学李诚男副教授计算机系张旭男讲查询教师所有的单位即不重复的列查询表的所有记录查询表中成绩在到之间的所有记录查询表中成
10、绩为或的记录查询表中班或性别为女的同学记录女以降序查询表的所有记录以升序降序查询表的所有记录查询班的学生人数查询表中INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)VALUES(825,王萍,女,1972-05-05,助教,计算机系);INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)VALUES(831,刘冰,女,1977-08-14,助教,电子工程系);二、创建 SQL 语句实现以下的功能 1、查询 Student 表中的所有记录的 Sname Ssex和 Cl
11、ass 列。select Sname,Ssex,Class from student 2、查询教师所有的单位即不重复的 Depart 列。select distinct Depart from Teacher 3、查询 Student 表的所有记录。select*from student 4、查询 Score 表中成绩在 60 到 80 之间的所有记录。select*from score where degree=60 and degree=80 5、查询 Score 表中成绩为 85,86 或 88 的记录。select*from score where degree=85 or degre
12、e=86 or degree=88 6、查询 Student 表中95031 班或性别为 女的同学记录。select*from student where class=95031 or ssex=女 7、以 Class 降序查询 Student 表的所有记录。select*from student order by class desc 8、以 Cno 升序、Degree 降序查询 Score 表的所有记录。select*from score order by degree desc,eno 9、查询“95031 班的学生人数。select COUNT)from student where c
13、lass=95031 10、查询 Score 表中的最高分的学生学号和课程号。select top 1 sno,cno from score order by degree desc 11、查询305 号课程的平均分。select AV(Gdegree)from score where eno=3-105 12、查询最低分大于 70,最高分小于 90 的 Sno 列。select sno from score group by sno having MAXdegree)70 13、查询所有学生的 Sname、Cno 和 Degree 列。select snamecno,degree from
14、student,score where student.sno=score.sno 如创建数据库建立数据表为表建立主键外键删除和修改表结构以及使用语句对数据库进行前面相应的操作通过实验了解语言有哪些数据操纵语句熟悉这些语句的使用方法能够灵活地使用数据操纵语言对数据库的数据进行复杂的增删实验能够对数据定义语言操纵语言复杂有比较深刻的理解语句的使用四实验内容一利用以下语句创建数据表并插入数据曾华男明男丽女军男芳女君男计算机导论操作系统数据电路匡王李王陆高等数学李诚男副教授计算机系张旭男讲查询教师所有的单位即不重复的列查询表的所有记录查询表中成绩在到之间的所有记录查询表中成绩为或的记录查询表中班或性
15、别为女的同学记录女以降序查询表的所有记录以升序降序查询表的所有记录查询班的学生人数查询表中14、查询所有学生的 Sno、Cname 和 Degree 列。select sno,cname degree from course,score where o=o 15、查询所有学生的 Sname、Cname 和 Degree 列。select sn amec name degree from stude nt,course,score where stude nt.sno=score.s no and o=o 16、查询“95033 班所选课程的平均分。select AVGdegree)from s
16、core where sno in(select sno from student where class=95033)17、查询选修“305”课程的成绩高于“109 号同学成绩的所有同学的记录。select*from student where sno in(select sno from score where cno=3-105 and degree any(select degree from score where sno=109)18 查询 Score 表中至少有 5 名学生选修的并以 3 开头的课程的平均分数。select AV(Gdegree)from score where
17、cno in(select cno from score group by cno having count(cno)4)and cno like 3%19、查询成绩高于学号为“109、”课程号为“305”的成绩的所有记录。select*from score where degreeany(select degree from score where sno=109 andcno=3-105)20、查询和学号为 108 的同学同年出生的所有学生的 Sno、Sname 和 Sbirthday 列。select sno,sname sbirthday from student where YEAR
18、sbirthday)=(select YEARsbirthday)from student where sno=108)21、查询 张旭 教师任课的学生成绩。select DEGREErom score,course,teacher where teacher.tno=course.tno and o=o and tname=张旭 22、查询 95033 班和 95031 班全体学生的记录。select*from student where class=95033 or class=95031 23、查询存在有 85 分以上成绩的课程 Cno.select distinet cno from
19、score where degree 85 如创建数据库建立数据表为表建立主键外键删除和修改表结构以及使用语句对数据库进行前面相应的操作通过实验了解语言有哪些数据操纵语句熟悉这些语句的使用方法能够灵活地使用数据操纵语言对数据库的数据进行复杂的增删实验能够对数据定义语言操纵语言复杂有比较深刻的理解语句的使用四实验内容一利用以下语句创建数据表并插入数据曾华男明男丽女军男芳女君男计算机导论操作系统数据电路匡王李王陆高等数学李诚男副教授计算机系张旭男讲查询教师所有的单位即不重复的列查询表的所有记录查询表中成绩在到之间的所有记录查询表中成绩为或的记录查询表中班或性别为女的同学记录女以降序查询表的所有记录以升序降序查询表的所有记录查询班的学生人数查询表中