文档库 最新最全的文档下载
当前位置:文档库 › 数据库上机题汇总

数据库上机题汇总

数据库上机题汇总
数据库上机题汇总

实验二使用SQL语句创建和修改表

系专业班级

学号姓名成绩:

实验目的:

1.掌握使用SQL语句创建数据库。

2.掌握使用SQL语句创建数据表,创建各种完整性约束,修改表

的结构。

3.掌握使用SQL语句修改表中的记录值。

实验内容:

一、使用SQL语句完成下列题。

1、创建一个名称为JXGL的数据库,要求:

(1)将主数据文件JXGL.mdf放置在c:\DBF文件夹中,其文件大小自动增长为按5mb增长。

(2)将事务日志文件JXGL_log.ldf放置在C:\DBF文件夹中,其文件大小自动增长为按1mb增长。

在c盘创建DBF文件夹。

create database JXGL

on

(name='JXGL_data',

filename='c:\DBF\JXGL.mdf',

filegrowth=5mb

)

log on

(name='JXGL_log',

filename='c:\DBF\JXGL_log.ldf',

filegrowth=1mb)

2、在JXGL数据库中创建下列表。

●学生表Student,由学号(Sno)、姓名(Sname)、性别(Ssex)、

年龄(Sage)、所在系(Sdept)五个属性组成,记作:

Student(Sno,Sname,Ssex,Sage,Sdept) 其中主码为Sno。姓名取值唯一,性别取值为男或女,默认为男。

Create Table Student

( Sno CHAR(5) NOT NULL PRIMARY KEY(Sno),

Sname VARCHAR(20) constraint uq_sname unique,

Sage SMALLINT,

Ssex CHAR(2) DEFAULT '男' CHECK (Ssex='男' OR Ssex='

女'),

Sdept CHAR(2));

●课程表Course,由课程号(Cno)、课程名(Cname)、先修课号

(Cpno)、学分(Ccredit)四个属性组成,记作:

Course(Cno,Cname,Cpno,Ccredit),

其中主码为Cno。Cname取值唯一,Cpno参照cno。

Create Table Course

( Cno CHAR(2) NOT NULL PRIMARY KEY(Cno),

Cname VARCHAR(20) UNIQUE,

Cpno CHAR(2) references course(cno),

Ccredit SMALLINT);

●学生SC,由学号(Sno)、课程号(Cno)、成绩(Grade)三个属

性组成,记作:

SC(Sno,Cno,Grade)

其中主码为(SNO,CNO),sno参照student表的sno列,cno参照course表的cno列。grade取值范围0-100。

Create Table SC

( Sno CHAR(5) NOT NULL CONSTRAINT S_F FOREIGN KEY

REFERENCES Student(Sno),

Cno CHAR(2) NOT NULL Constraint fk_cno FOREIGN KEY(Cno)

REFERENCES Course(Cno),

Grade SMALLINT CHECK ((Grade IS NULL) OR (Grade BETWEEN

0 AND 100)),

PRIMARY KEY(Sno,Cno),

);

3、向Student表增加“入学时间”列,其数据类型为日期型。

Alter table student

Add 入学时间 smalldatetime

4、将年龄的数据类型改为smallint。

Alter table student

Alter column sage smallint

5、删除学生姓名必须取唯一值的约束。

Alter table student

Drop uq_sname

6、向course表中增加一个约束,以限制Ccredit的取值范围为1-4。

Alter table course

Add constraint ck_ccredit check(Ccredit between 1 and

4)

7、向student表中插入值(‘98006’,‘欧阳姗姗’,18,‘女’,‘CS’)。

INSERT INTO student VAlues('98006','欧阳姗姗',18,'女

','CS')

8、从student表中删除姓名为’李四’的学生。

Delete from student

Where sname=’李四’

9、在SC表中将‘2’号课程的成绩加5。

Update sc

Set grade=grade+5

Where cno=‘2’

10、在SC表中将’2’号课程的成绩减5。

Update sc

Set grade=grade-5

Where cno=‘2’

实验三单表查询(一)

系专业班级

学号姓名成绩:

实验目的:

1、掌握投影查询。

2、掌握选择查询。

实验内容:

对JXGL数据库进行查询。

1、查询全体学生的学号与姓名。

select sno,sname

from student

2、查询全体学生的姓名、学号、所在系。

select sname,sno,sdept

from student

3、查询全体学生的详细记录。

select*

from student

4、查全体学生的姓名及其出生年份。

select sname,year(getdate())-sage '出生年份'

from student

5、查询全体学生的姓名、出生年份和所在系,要求用小写字母表

示所有系名。

select sname,year(getdate())-sage '出生年份',lower(sdept)

'sdept'

from student

6、查询选修了课程的学生学号。

select distinct sno

from sc

7、查询所有年龄在20岁以下的学生姓名及其年龄。

select sname,sage

from student

where sage<20

8、查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、

系别和年龄。

Select sname,sdept,sage

From student

Where sage between 20 and 23

9、查询年龄不在20~23岁之间的学生姓名、系别和年龄。

Select sname,sdept,sage

From student

Where sage not between 20 and 23

10、查询信息系(IS)、数学系(MA)和计算机科学系(CS)学

生的姓名和性别。

Select sname,ssex

From student

Where sdept in(‘IS’,’MA’,’CS’)

11、查询既不是信息系、数学系,也不是计算机科学系的学生的姓

名和性别。

Select sname,ssex

From student

Where sdept NOT in(‘IS’,’MA’,’CS’)

12、查询学号为98001的学生的详细情况。

Select *

From student

Where sno=’98001’

13、查考试成绩大于等于90的学生的学号。

Select sno

From sc

Where grade>=90

14、查询所有姓刘学生的姓名、学号和性别。

Select sname,sno,ssex

From student

Where sname like ‘刘%’

15、查询姓"欧阳"且全名为三个汉字的学生的姓名。

Select sname

From student

Where sname like ‘欧阳_’

16、查询名字中第2个字为"阳"字的学生的姓名和学号。

Select sname,sno

From student

Where sname like ‘_阳%’

17、查询所有不姓刘的学生姓名。

Select sname,sno,ssex

From student

Where sname not like ‘刘%’

18、某些学生选修课程后没有参加考试,所以有选课记录,但没有

考试成绩。查询缺少成绩的学生的学号和相应的课程号。

Select sno,cno

From sc

Where grade is null

19、查所有有成绩的学生学号和课程号。

Select sno,cno

From sc

Where grade is not null

实验四单表查询(二)

系专业班级

学号姓名成绩:

实验目的:

3、掌握使用集函数的单表查询。

4、掌握对查询结果排序与分组。

实验内容:

对JXGL数据库进行查询。

1、查询学生总人数。

select count(*)'总人数'

from student

2、查询选修了课程的学生人数。

select count(distinct sno)'人数'

from sc

3、计算1号课程的学生平均成绩。

select avg(grade)'平均分'

from sc

where cno='1'

4、查询选修1号课程的学生最高分数。

select max(grade)'最高分'

from sc

where cno='1'

5、计算选修1号课程的学生人数、最高成绩、最低成绩及平均成

绩。

select count(*)'人数',max(grade)'最高分',min(grade)'

最低分',avg(grade)'平均分'

from sc

where cno='1'

6、求各个课程号及相应的选课人数。

select cno,count(*)'选课人数'

from sc

group by cno

7、查询选修了3门以上课程的学生学号。

select sno

from sc

group by sno

having count(*)>3

8、查询有3门以上课程是90分以上的学生的学号。

select sno

from sc

where grade>90

group by sno

having count(*)>3

9、查询各专业的专业名及学生人数。

select sdept,COUNT(*)'学生人数'

from student

group by sdept

10、查询平均成绩在80分以上的学生的学号及平均成绩

select sno,AVG(grade)as'平均成绩'

from sc

group by sno

having AVG(grade)>80

11、查询至少有2个人选修的课程的课程号,选课人数。、

select cno,COUNT(*)'选课人数'

from sc

group by cno

having COUNT(*)>=2

12、查询选修了3号课程的学生的学号及其成绩,查询结果按分数

降序排列。

select sno,grade

from sc

where cno='3'

order by grade desc

13、查询全体学生情况,查询结果按所在系的系号升序排列,同一

系中的学生按年龄降序排列。

select*

from student

order by sdept asc,sage desc

实验五多表查询(一)

系名专业及班级

学号姓名成绩:

实验目的:

5、掌握连接查询的一般格式。

6、熟练掌握连接查询的各种方法。

实验内容:

对JXGL数据库进行查询。

1.查询选修2号课程的学生名字。

select sname

from student,sc

where student.sno=sc.sno and cno='2'

2.查询选修了这样课程的学生学号,其直接先行课是5号课程。

select sno

from sc,course

where https://www.wendangku.net/doc/a711913231.html,o=https://www.wendangku.net/doc/a711913231.html,o and cpno='5'

3.查询选修的课程成绩为90分以上的学生姓名与课程名和成绩。

select sname,cname,grade

from student,sc,course

where student.sno=sc.sno and https://www.wendangku.net/doc/a711913231.html,o=https://www.wendangku.net/doc/a711913231.html,o

and grade>90

4.查询每一门课的间接先修课(即先修课的先修课)

select https://www.wendangku.net/doc/a711913231.html,o,b.cpno

from course a,course b

where a.cpno=https://www.wendangku.net/doc/a711913231.html,o

5.查询选修2号课程且成绩在90分以上的所有学生的学号、姓名。

select student.sno,sname

from student,sc

where student.sno=sc.sno and cno='2' and grade>90

6.查询每个学生的学号、姓名、选修的课程名及成绩。

select student.sno,sname,cname,grade

from student,sc,course

where student.sno=sc.sno and https://www.wendangku.net/doc/a711913231.html,o=https://www.wendangku.net/doc/a711913231.html,o

7.查询性别为男、课程成绩及格的学生信息及课程号、成绩。

select student.*,cno,grade

from student,sc

where student.sno=sc.sno and grade>=60 and ssex='男' 8.查询平均成绩大于85分的学号、姓名、平均成绩。

select student.sno,sname,avg(grade)'平均分'

from student,sc

where student.sno=sc.sno

group by student.sno,sname

having avg(grade)>85

9.查询选修了数据库系统的学生的姓名及成绩。

select sname,grade

from student,course,sc

where student.sno=sc.sno and https://www.wendangku.net/doc/a711913231.html,o=https://www.wendangku.net/doc/a711913231.html,o and cname='数据库系统'

10.查询每个系的学生选修的1号课程的平均成绩,最高分,最低

分,选课人数。

select avg(grade)'平均成绩',max(grade)'最高分

',min(grade)'最低分',count(*)'选课人数'

from student,sc

where student.sno=sc.sno and cno='1'

group by sdept

实验六多表查询(二)

系名专业及班级

学号姓名成绩:

实验目的:

7、掌握子查询语句的一般格式。

8、熟练掌握子查询的各种方法。

实验内容:

对JXGL数据库进行查询。

11.查询不选1号课程的学生名字。

select sname

from student

where sno not in(select sno from sc where cno='1') 12.查询至少被2个学生选修的课程的课程名。

select cname

from course

where cno in

(select cno

from sc

group by cno

having count(*)>=2)

13.查询计算机系(CS)选修了2门及以上课程的学生的学号。

select sno

from sc

where sno in(select sno from student where sdept='CS')

group by sno

having count(*)>=2

14.查询与“钱横”在同一个系学习的学生信息。

select*

from student

where sname!='钱横'and sdept=

(select sdept

from student

where sname='钱横')

15.查询选修了课程名为“数学分析”的学生学号、姓名和所在系。

select sno,sname,sdept

from student

where sno in(select sno

from sc

where cno in(select cno

from course

where cname='数学分析'))

16.查询同时选修了“1”课程和“2”课程的学生的姓名。

select sname

from student

where sno in

(select sno

from sc

where cno='2'and sno in

(select sno

from sc

where cno='1'))

17.查询至少选修了3门课程的学生的姓名。

select sname

from student

where sno in

(select sno

from sc

group by sno

having count(*)>=3)

18.查询平均成绩在80分以上的学生的姓名。

select sname

from student

where sno in

(select sno

from sc

group by sno

having avg(grade)>80)

实验七视图

系名专业及班级

学号姓名成绩:

实验目的:

1.掌握视图定义方法和使用方法。

2.掌握对视图数据的增,删,改操作。

实验内容:

19.创建计算机系(CS)的学生信息视图V_1。

create view v_1

as

select*

from student

where sdept='CS'

20.建立计算机系(CS)选修了1号课程的学生信息视图V_2。

create view v_2

as

select*

from student

where sdept='CS'AND SNO IN(SELECT SNO FROM SC WHERE CNO='1')

21.建立计算机系选修了1号课程且成绩在90分以上的学生的视图

V_3。

create view v_3

as

select*

from student

where sdept='CS'AND SNO IN

(SELECT SNO FROM SC WHERE CNO='1'AND GRADE>90)

22.定义一个反映学生学号,姓名,出生年份的视图V_4。

CREATE VIEW V_4(学号,姓名,出生年份)

AS

SELECT SNO,SNAME,YEAR(GETDATE())-SAGE

FROM STUDENT

23.将学生的学号及其平均成绩定义为一个视图V_5。

CREATE VIEW V_5(学号,平均成绩)

AS

SELECT SNO,AVG(GRADE)

FROM SC

GROUP BY SNO

24.创建计算机专业(CS)学生的平均成绩视图V_6,包括学号和平均

成绩.

CREATE VIEW V_6(学号,平均成绩)

AS

SELECT SNO,AVG(GRADE)

FROM SC

WHERE SNO IN(SELECT SNO FROM STUDENT WHERE SDEPT='CS')

GROUP BY SNO

25.通过V_2视图查询计算机系选修了1号课程的学生姓名,性别,

年龄。

SELECT SNO,SNAME,SAGE

FROM V_2

26.在V_5视图中查询平均成绩在90分以上的学生学号和平均成

绩。

SELECT学号,平均成绩

FROM V_5

WHERE平均成绩>90

27.将计算机系学生视图V_1中学号98002的学生姓名改为“刘辰”。

UPDATE V_1

SET SNAME='刘辰'

WHERE SNO='98002'

28.向计算机系学生视图V_1中插入一个新的学生记录:95029,赵

新,20岁

INSERT INTO V_1(SNO,SNAME,SAGE,SDEPT)

VALUES('95029','赵新',20,'CS')

29.删除视图V_1中学号为95029的记录。

DELETE V_1

WHERE SNO='95029'

实验八索引

实验目的:

9、掌握索引的类型

10、掌握使用界面方式和SQL语句创建索引,查看索引,删除

索引的方法。

实验内容:

分别使用界面方式和SQL语句完成下面题。

1、为student表的sname列创建索引。

Create index ind_sname on student(sname)

2、为student表按sname的升序,sage的降序建立索引。

Create index ind_student on student(sname asc,sgae desc)

3、根据course表的cname列降序创建唯一索引。

Create unique index ind_cname on course(cname)

4、根据student表中sno列创建唯一聚集索引。

Create unique clustered index ind_sno on student(sno) 5、删除course表cname列上的索引。

Drop index https://www.wendangku.net/doc/a711913231.html,ame

6、使用存储过程查看student表上所有的索引。

Exec Sp_helpindex student

数据库上机实验报告

数据库实验 (第三次) 题目1 实验内容: 1. 检索上海产的零件的工程名称; 2. 检索供应工程J1零件P1的供应商号SNO; 3. 检索供应工程J1零件为红色的供应商号SNO; 4. 检索没有使用天津生产的红色零件的工程号JNO; 5. 检索至少用了供应商S1所供应的全部零件的工程号JNO; 6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数 量QTY降序排列。

1 select jname from j where jno in (select jno from spj where sno in (select sno from s where city ='上海' ) ); 2 select sno from spj where jno ='j1'and pno ='p1' 3

selectdistinct sno from spj where pno in (select pno from p where color='红'and pno in (select pno from spj where jno ='j1' ) ); 4 selectdistinct jno from spj where pno notin (select pno from p where color ='红'and pno in (select pno from spj where sno in (select sno from s where city ='天津' ) ) )

5 select jno from spj where sno ='s1' 6 select jno,qty from spj where pno ='p1' orderby qty desc 四﹑思考题 1.如何提高数据查询和连接速度。 建立视图 2. 试比较连接查询和嵌套查询 有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比 嵌套查询高出很多 当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。但是相比于连接运算,目前商用关系数据库管理系统对嵌套查询的优化做的还不够完善,所以在实际应用中,能够用连接运算表达的查询尽可能采用连接运算。

全国计算机三级数据库技术上机试题100道

1.【考点分析】本题考查对4位整数的排序。考查的知识点主要包括:数组元素的排序算法,if判断语句和逻辑表达式,以及求余算术运算。 【解题思路】此题属于4位数排序问题。本题需主要解决3个问题:问题1如何取4位数的后3位进行比较;问题2如何按照题目要求的条件(按照每个数的后3位的大小进行降序排列,如果后3位相等,则按照原始4位数的大小进行升序排列)排序;问题3如何将排完序的前10个数存到数组bb中去。 本题的解题思路为:使用双循环对数组按条件进行排序,然后将排完序的前10个数存到数组bb中。对于问题1可以通过算术运算的取余运算实现(aa[i]%1000);问题2通过包含if判断语句的起泡排序法就可以实现。 【参考答案】 void jsSort() { int i,j; /*定义循环控制变量*/ int temp; /*定义数据交换时的暂存变量*/ for(i=0;i<199;i++) /*用选择法对数组进行排序*/ for(j=i+1;j<200;j++) { if(aa[i]%1000aa[j]) /*则要按原4位数的值进行升序排序*/ { temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; } } for(i=0;i<10;i++) /*将排序后的前10个数存入数组b中*/ bb[i]=aa[i]; } 【易错提示】取4位数后三位的算法,if判断语句中逻辑表达式的比较运算符。 2.【考点分析】本题主要考查的知识点包括:C语言循环结构,if判断语句和逻辑表达式,以及分解多位整数的算术运算。 【解题思路】分析题干,本题除给出条件"SIX+SIX+SIX = NINE+NINE"之外,还可得出2个隐含的条件:条件1:SIX和NINE分别是3位和4位的正整数;条件2:SIX的十位数字等于NINE的百位数字,NINE的千位数字和十位数字相等。 本题解题思路:通过嵌套的循环结构可以遍历到所有的3位和4位数,对于每一个3位数及4位数的组合进行题设条件(SIX+SIX+SIX = NINE+NINE)的判断,满足条件的对其分解得到各数位的数字,再进一步判断各位数字是否满足本题隐含的条件(条件1及条件2),如果满足则个数加1,并将该3位数及4位数添加到和值中。 【参考答案】 void countValue() { int i,j; int s2; int n2,n3,n4; for(i=100;i<1000;i++)

数据库SQL实验题目

实验一数据定义操作 实验目的 1.掌握数据库和表的基础知识 2.掌握使用创建数据库和表的方法 3.掌握数据库和表的修改、查看、删除等基本操作方法 实验内容和要求 一、数据库的创建 在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示: Grademanager数据库参数表 参数参数值参数参数值 存储的数据文件路 径 D:\db\ 存储的日志文件路径D:\db\ 数据文件初始大小5MB 日志文件初始大小2MB 数据文件最大值20MB 日志文件最大值15MB 数据文件增长量原来10% 日志文件增长量2MB 二、表的创建、查看、修改和删除 1.表的创建 在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构 字段名称数据类型长度精度小数位数是否允许 Null值 说明 Sno Char 10 0 0 否学号,主码 Sname Varchar 8 0 0 是姓名 Ssex Char 2 0 0 是性别,取值:男或女 Sbirthday Date 8 0 0 是出生日期 Sdept Char 16 0 0 是系名 Speciality Varchar 20 0 0 是专业名 特别注意: 为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。

图1 设置性别的约束 (2)Course表(课程名称表)的表结构 字段名称数据类型长度精度小数位数是否允许Null值说明 Cno Char 5 0 0 否课程号,主码Cname Varchar 20 0 0 否课程名 (3)SC表(成绩表)的表结构 字段名称数据类 型 长 度 精 度 小数位 数 是否允许Null值说明 Sno Char 10 0 0 否学号,外码 Cno Char 5 0 0 否课程号,外码 Degree Decimal 5 5 1 是成绩,0~100之间 特别注意: ①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100 ②为SC表设置外键Sno和Cno的方法: 右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。按照相同的方法,将属性Sno也设置为外键。

数据库实验上机题

一、要求: 1、上机前写好题目答案,上机验证; 2、上机后写好实验报告(手写),内容是题目结果; 3、每个同学做的ACCESS程序,文件名为姓名学号,每班一个文件夹,压缩后发给我。 二、内容 实验一 在ACCESS环境下写出创建如下3张表的SQL语句: (1)“图书表”结构如下: 书号:文本型,长度为6,主码; 书名:文本型,长度为30,非空; 第一作者:文本型,长度为10,非空; 出版日期:日期时间型; 价格:定点小数,小数部分1位,整数部分3位。 (2)“书店表”结构如下: 书店编号:文本型,长度为6,主码; 店名:文本型,长度为30,非空; 电话:文本型,8位长,每一位的取值均是0-9的数字; 地址:文本型,40位长; 邮政编码:文本型,6位长。 (3)“图书销售表”结构如下: 书号:文本型,长度为6,非空; 书号编号:文本型,长度为30,非空; 销售日期:小日期时间型,非空; 销售数量:整型,大于等于1; 主码为(书号,书店编号,销售日期); 其中“书号”为引用“图书表”的“书号”的外码; “书店编号”为引用“书店表”的“书店编号”的外码。 实验二 请参照实验一设计一个图书借阅系统。 要求实现: 1、在ACCESS下设计相应的数据表。 2、在表中添加数据,比如“图书表”中添加几本图书信息等。 3、在ACCESS下设计表之间的关系。 4、在ACCESS下设计查询:根据书名模糊查询图书信息,根据销售时间查询销 售数据。 实验三 在ACCESS下写出创建Student、Course和SC表的SQL语句,并建立数据库1、Student: Sno 学号文本长度7 主键 Sname 姓名文本长度10 非空

数据库上机实验

创建数据表与数据输入 Part I. 使用SQL Server Management Studio创建数据表和输入数据1. 在SQL Server Management Studio中创建数据表 P69 1.(1)-(6) 2. 为数据表输入数据 P76 4.(1)-(4) 3. 数据浏览 P77 1. (1)-(2) 2. (1)-(3) Part II. 使用SQL语句创建数据表和输入数据 1. 使用SQL语句创建数据表 P72. 例3-2 2.使用SQL语句输入数据 P82. 例3.8 习题:P.105 (1)(2)insert

数据操作Insert、Update、Delete P105 3. 上机练习题(2)(4) Insert (100001, 1000, 2002-12-18 0:00:00) (100002, 2000, 2010-3-20 0:00:00) Update (100001, 1500, 2002-12-18 0:00:00) (100002, 2000, 2012-9-25 0:00:00) Delete

1.将teaching数据库中score表的studentno列设置为引用表student的外键。 ALTER TABLE Score ADD CONSTRAINT FK_score_student FOREIGN KEY (studentno) REFERENCES student(studentno) 2.将teaching数据库中class表的classname创建UNIQUE约束。 ALTER TABLE class ADD CONSTRAINT UQ_class UNIQUE(classname) 执行如下插入语句,查看提示信息 INSERT INTO class VALUES(‘090602’, ’计算机0902’, ’计算机学院’, ’马文斐’) 3. 为teaching数据库中student表的birthday列创建CHECK约束,规定学生的年龄在17-25岁之间。 ALTER TABLE student ADD CONSTRAINT CK_birthday CHECK(YEAR(GETDATE())-YEAR(birthday)) BETWEEN 17 AND 25 执行如下插入语句,查看提示信息 INSERT INTO student(studentno, sname, sex, birthday, classno) VALUES (‘0922221328’, ’张源’, ’男’, ’1983-04-05’, ’090501’) 提示:表达式YEAR(GETDATE())-YEAR(birthday) 4. 为teaching数据库创建规则prof_rule,规定教师职称取值只能为’助教’,’讲师’,’副教授’,’教授’,并将其绑定到teacher表的prof列上。 CREATE RULE prof_rule AS @prof IN(’助教’,’讲师’,’副教授’,’教授’) EXEC sp_bindrule ‘prof_rule’, ‘teacher.prof’ 执行如下插入语句,查看提示信息 INSERT INTO teacher VALUES(‘t05002’, ’张源’, ’软件工程’, ’工程师’, ’计算机学院’) 提示:表达式IN(职称列表) 5. 编写程序,输出在1-3000之间能被17整除的最大数值 提示:可使循环控制变量从最大值开始,逐步减少,第一个满足被17整除的数值即为所求解的结果,可通过BREAK语句跳出循环。(如果使循环控制变量从小到大逐步增加,则循环次数将大大增加,程序执行效率将下降。)PRINT ‘1-3000之间能被17整除的最大数值为:’ +CAST(@i AS CHAR(4)) DECLARE @s INT, @i INT SELECT @s=0, @i=3000 WHILE @i>=1 BEGIN IF @i%17=0 BEGIN PRINT ‘1-3000之间能被17整除的最大数值为:’ + CAST(@i AS CHAR(4)) BREAK END @i = @i-1 END

《数据库》上机练习题

数据库期中上机考试题 1、在E:\学教管理系统\的路径下建立“学教管理”数据库 2、从服务器jsj上的“jxgl1“库中导入数据到“学教管理”数据库中。 3、在‘学教管理’数据库中增加两个数据表Scholarship-class (奖学金等级,平均最低成绩,金额),Scholarship(学号,奖学金等级,获奖时间),并建立相应的主码、外码和关联。 4、创建“学教管理”数据库中表之间的关系。 5、根据“学教管理”数据库中的基本数据表,进行下列各操作 1)修改Grade表,添加主码、外部码及关联,以及成绩限制在0~100之间。 2)在课程表中增加一个‘先修课号’属性,用于指定在学本课之前必须先修的课程,如果为空,则表示该课没有要求的先修课程。 3)向Student表中录入一条新记录(2005061,赵五,男) 4)分别向Class和grade表中录入一些2009信管管理、2009工商管理、2009旅游管理、2009数理经济四个班级的信息,以及四个班级的一些同学的选课信息。。 5)将李勇的计算机网络成绩置空。 6)找出所有被学生选修了的课程号。 7)查询01311班女同学的个人信息。 8)查询没有选修1号课程的学生姓名与班级号,并按班级号分组和排序。 9)查询姓李的学生的所有信息。 10)查询2009信息管理专业学生的数据库成绩 11)求选修了所有课程的学生学号和姓名。 12)求选修了数据库课程的学生人数。 13)列出每门课程的选修人数。 14)查询选修了3门课以上的学生学号和姓名 15)查询学生张婷婷选修的课程号、课程名和成绩 16)找出2009数理经济班所学数据库的平均分、最高分、最低分 17)找出与李勇在同一班级的学生基本情况信息 18)找出年龄介于李勇的年龄和25之间的学生信息 19)TOM已退学,从数据库删除有关他的相应记录。

Access上机练习题

Access上机练习 一、Access的基本练习 1.学习Access的启动和退出; 2.通过上机熟悉Access的用户界面(包括Access窗口和数据库窗口的组成); 二、数据库的创建 1.在桌面创建一个TEST.Mdb数据库; 2.在上述所建数据库中创建如下三张数据表

【操作步骤】 (1)在“数据库”窗口中,单击“对象”栏下的“表”,然后双击“使用设计器创建表”快捷方式。 (2)弹出表“设计视图”对话框,在“字段名称”列中输入字段名,在“数据类型”列中选择数据类型。 (3)在窗口下部的“字段属性”区中,利用“常规”选项卡设置字段大小。 3.将学生表的“学号”字段定为主键,课程表的“课程号”定为主键,成绩表使用学号和课程号的组合作为主键。 【操作步骤】

(1)在学生表的设计视图下,单击学号所在的行,再单击“工具栏”上的主键按钮; (2)在课程表的设计视图下,单击课程号所在的行,再单击“工具栏”上的主键按钮; (3)在成绩表的设计视图下,按下Shift键分别单击学号和课程号所在的行,再单击“工具栏”上的主键按钮; 4.向表中输入数据。 【操作步骤】 (1)在数据库窗口中双击要输入数据的表,进入“数据表”视图。 (2)在“数据表”视图中可进行数据的输入。 5.建立上述三个表之间的关系,在建立过程中要求选择“实施参照完整性”。 【操作步骤】 (1)按F11键切换到“数据库”窗口。 (2)单击工具栏上的“关系”按钮,打开“关系”窗口;同时出现“显示表”对话框,其中将有上述所建的三个表。 (3)分别双击“学生”表、“成绩”表和“课程”表;然后关闭“显示表”对话框。 (4)用鼠标按住“学生”表中的“学号”(主键),将其拖动“成绩”表的“学号”(外键)上;在弹出的“编辑关系”对话框中选择“实施参照完整性”,然后单击“确定”按钮。 (5)再用鼠标按住“课程”表中的“课程号”(主键),将其拖动“成绩”表的“课程号”(外键)上;在弹出的“编辑关系”对话框中选择“实施参照完整性”,然后单击“确定”按钮。 二、使用用设计视图对TEST.mdb数据库建立相关查询对象。 1.根据以下要求创建一个名为“一般选择查询”的选择查询对象。 (1)查询所有同学的有关基本信息和考试成绩。 (2)查询显示字段为:学号、姓名、出生日期、课程号、课程名、成绩。 【操作步骤】 (1)按F11键切换到“数据库”窗口。 (2)在“数据库”窗口中,单击“对象”栏下的“查询”,然后双击“在设计视图中创建查询”快捷方式,此时出现“设计”窗口和“显示表”对话框,“显示表”对话框中显示上述所建的三个数据表。 (3)分别双击三个表,将它们添加到查询“设计”窗口中作为查询数据源,然

数据库上机实验(有答案)

数据库上机实验内容及要求(第二部分) 1.建立工厂管理数据库 工厂(包括厂名和厂长名)需要建立一个管理数据库存储以下信息: (1)一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和联系电话; (2)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种; (3)一个车间生产多种产品,产品有产品号和价格;每种产品只能由一个车间生产; (4)一个车间制造多种零件,一种零件也可能为多个车间制造。零件有零件号、重量和价格; (5)一种产品可由多种零件组成,一种零件也可以装配出多种产品; (6)产品和零件均存入仓库; (7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。 根据以上需求分析结果,按照下述要求,设计并建立工厂管理数据库。 ◆分析实体及联系,设计E-R图。 ◆将E-R图转换成关系模式,并规范化到3NF。 ◆在Microsoft SQL Server2000中基于“企业管理器”建立数据库及相关对象(主 码,外码,索引,约束等)。 ◆测试数据入库 2.基于“查询分析器”,完成并保存下述题目的SQL脚本 (1)建立“工种”是“钳工”的所有职工详细信息的视图; create view View_工人_钳工 as select* from职工表 where工种='钳工' with check option (2)建立“车间号”是“CJ01”的钳工详细信息的视图; create view View_钳工_CJ01 as select* from View_工人_钳工 where车间号='CJ01' (3)建立使用了“零件号”是“LJ0002”的所有产品详细信息的视图; create view View_产品_零件LJ0002 as select产品表.产品号,价格,车间号,仓库号 from装配表,产品表 where装配表.产品号=产品表.产品号and零件号='LJ0002'(4)对零件表按照“零件号”建立唯一索引; create unique index Index_U_零件号on零件表(零件号) (5)对职工表按照“性别”建立聚簇索引; create clustered index Index_C_性别on职工表(性别) (6)查询使用了“零件号”是“LJ0002”的产品的生产车间号;

数据库上机实验题目和答案

试用SQL的查询语句表达下列查询: 1.检索王丽同学所学课程的课程号和课程名。 select Cno ,Cname from c where Cno in (select cno from sc where sno in (select sno from s where sname='王丽' )) 2.检索年龄大于23岁的男学生的学号和姓名。 select sno,sname from s where sex='男' and age>23 3.检索‘c01’课程中一门课程的女学生姓名 select sname from s where sex='女' and sno in (select sno from sc where cno='c01') 4.检索s01同学不学的课程的课程号。 select cno from c where cno not in (select cno from sc where sno ='s01') 5.检索至少选修两门课程的学生学号。 select sc.sno from s,sc where s.sno=sc.sno group by sc.sno having count(https://www.wendangku.net/doc/a711913231.html,o)>=2 6.每个学生选修的课程门数。 解法一: select so.sno sno,https://www.wendangku.net/doc/a711913231.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno ) so,s where s.sno=so.sno 解法二: select sc.sno sno,s.sname,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno,sname

数据库上机实验

附录C 上机实验 C.1 第4章上机实验 下列实验均使用SQL Server 的SSMS工具实现。 1.用图形化方法创建符合如下条件的数据库(创建数据库的方法可参见本书附录A): ●数据库名为:学生数据库 ●主要数据文件的逻辑文件名为:Students_data,存放在D:\Data文件夹下(若D: 盘中无此文件夹,请先建立此文件夹,然后再创建数据库。),初始大小为:5MB, 增长方式为自动增长,每次增加1MB。 ●日志文件的逻辑文件名字为:Students_log,也存放在D:\Data文件夹下,初始大 小为:2MB,增长方式为自动增长,每次增加10%。 2.选用已建立的“学生数据库”,写出创建满足表C-1到4-4条件的表的SQL语句,并执行所写代码。(注:“说明”部分不作为表定义内容)

(1)在Teacher表中添加一个职称列,列名为:Title,类型为nchar(4)。 (2)为Teacher表中的Title列增加取值范围约束,取值范围为:{教授,副教授,讲师}。(3)将Course表中Credit列的类型改为:tinyint。 (4)删除Student表中的Sid和Sdate列。 (5)为Teacher表添加主键约束,其主键为:Tno。 C.2 第5章上机实验 本实验均在SQL Server 的SSMS工具中实现。首先在已创建的“学生数据库”中创建本章表5-1~5-3所示的Student、Course和SC表,并插入表5-4~5-6所示数据,然后编写实现如下操作的SQL语句,执行所写的语句,并查看执行结果。 1.查询SC表中的全部数据。 2.查询计算机系学生的姓名和年龄。 3.查询成绩在70~80分的学生的学号、课程号和成绩。 4.查询计算机系年龄在18~20岁的男生姓名和年龄。 5.查询C001课程的最高分。 6.查询计算机系学生的最大年龄和最小年龄。 7.统计每个系的学生人数。 8.统计每门课程的选课人数和最高成绩。 9.统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。 10.列出总成绩超过200的学生的学号和总成绩。 11.查询选了C002课程的学生姓名和所在系。 12.查询考试成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果。 13.查询与VB在同一学期开设的课程的课程名和开课学期。 14.查询与李勇年龄相同的学生的姓名、所在系和年龄。 15.查询哪些课程没有学生选修,列出课程号和课程名。 16.查询每个学生的选课情况,包括未选课的学生,列出学生的学号、姓名、选的课程号。 17.查询计算机系哪些学生没有选课,列出学生姓名。 18.查询计算机系年龄最大的三个学生的姓名和年龄。 19.列出“VB”课程考试成绩前三名的学生的学号、姓名、所在系和VB成绩。 20.查询选课门数最多的前2位学生,列出学号和选课门数。 21.查询计算机系学生姓名、年龄和年龄情况,其中年龄情况为:如果年龄小于18,则显 示“偏小”;如果年龄在18-22,则显示“合适”;如果年龄大于22,则显示“偏大”。 22.统计每门课程的选课人数,包括有人选的课程和没有人选的课程,列出课程号,选课人 数及选课情况,其中选课情况为:如果此门课程的选课人数超过100人,则显示“人多”; 如果此门课程的选课人数在40~100,则显示“一般”;如果此门课程的选课人数在1~40,则显示“人少”;如果此门课程没有人选,则显示“无人选”。 23.查询计算机系选了VB课程的学生姓名、所在系和考试成绩,并将结果保存到新表 VB_Grade中。

数据库上机习题及答案

数据库及应用复习题 一、设计题 有一个[学生课程]数据库,数据库中包括三个表: 学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为: Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno 为关键字。 课程表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。 成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为:SG(Sno,Cno,Grade) (SNO, CNO)为关键字。 用SQL语言实现下列功能: 1.建立学生表Student,其中学号属性不能为空,并且其值是唯一的。 2.向Student表增加“入学时间(Scome)”列,其数据类型为日期型。 3.查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。4.查询学习1号课程的学生最高分数、平均成绩。 5.查询与“李洋”在同一个系学习的学生。 6.将计算机系全体学生的成绩置零。 7.删除学号为05019的学生记录。 8.删除计算机系所有学生的成绩记录。 1. CREATETABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20), Ssex CHAR(2), Sage INT, Sdept CHAR(15)) 2. ALTER TABLE Student ADD Scome DATETIME 3. SELECT Sno, Grade FROM SG WHERE Cno='3' ORDER BY Grade DESC 4. SELECT MAX(Grade), AVG(Grade) FROM SC WHERE Cno='1' 5. SELECT Sno, Sname, Sdept FROM Student WHERE Sdept IN

数据库上机题目

上机时间7-18周周四上午3、4节 实验第一部分数据库操作 一:熟悉ACCESS环境(不用提交) 下面的实验要在七周内完成 实验1 建立学生、课程及成绩表,录入部分数据,并设计验证实体、参照及用户自定义完整性。 实验第二部分SQL语句VB数据库访问技术 二:SQL语句及VB数据库访问技术(要提交) 下面的SQL语句要求在“学生成绩管理”数据库进行测试。 下面的实验要在八至十二周内完成,要求提交纸质实验报告,实验报告包括:实验题目、SQL语句及查询结果的截图(查询的名称为自己的学号加姓名)。 【实验2_1】查询学生基本信息表中的所有信息。 SQL语句如下: 【实验2_2】在学生基本信息表中查询学生的学号、姓名、性别和族别信息。 SQL语句如下: 【实验2_3】从学生基本信息表中查询学生由哪些民族构成。 学生的族别有多行重复,要快速查询学生的民族构成,实际上就是对相同值的族别只需要显示一行,可使用DISTINCT关键字实现。 【实验2_4】从成绩表中查询学生成绩。 SQL语句如下: 【实验2_5】从相关表中查询每一位学生的学号、姓名、课程名称、成绩。 【实验2_6】在课程信息表中查找“Delphi程序设计”课程的任课老师。 【实验2_7】查询少数民族学生的基本情况。 【实验2_8】检索1985年1月1日以后出生的女生基本信息。 【实验2_9】查询每位同学的课程门数、总成绩、平均成绩。 【实验2_10】从学生基本信息表中统计各民族学生人数。 【实验2_11】从学生基本信息表中统计汉族学生的人数。 【实验2_12】显示平均成绩大于等于80分以上的学生情况。

【实验2_13】查询学生成绩并将显示的结果按成绩升序排序。 SQL语句如下: 【实验2_14】查询1985年出生的学生基本信息。 【实验2_15】查询不及格学生成绩信息。 查询不及格学生成绩信息,也就是查询0—59之间的学生成绩,可用BETWEEN关键字表示为:WHERE 成绩BETWEEN 0 AND 59。 【实验2_16】查询课程编号为002、003、007的课程编号、课程名称、任课教师和上课时间。 【实验2_17】检索所有姓刘的学生基本信息。 【实验2_18】检索包含“技术”两字的课程信息。 【实验2_19】查询第2 个字为“丽”的学生信息。 【实验2_20】查询课程信息表中教师未定的课程信息。 【实验2_21】统计成绩表中各门课程的学生人数、总成绩、平均成绩。 【实验2_22】检索单科成绩高于全班平均分的学生成绩信息。 【实验2_23】使用左外连接检索学生成绩信息(学号,姓名,课程名称)。 【实验2_24】使用右外连接检索学生成绩信息(学号,姓名,课程名称)。 【实验2_25】查找同名同姓的学生信息。 【实验2_26】在VB中设计针对“课程信息表”的基本编辑窗体,需要附运行界面及源程序代码。 实验第三部分数据库应用系统开发 数据库应用系统开发作为本课程课程设计考查内容,需要在18周之前提交纸质课程设计报告(主要是系统开发侧重于实施环节的报告)及数据库应用系统。系统开发可以两人(不能超过两人)一组,系统名称可自行拟定。

数据库上机考试试题及答案

1下列说法中正确的是:( D ) A 、 SQL 中局部变量可以不声明就使用 B 、 SQL 中全局变量必须先声明再使用 C 、 SQL 中所有变量都必须先声明后使用 D 、 SQL 中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。 2.哪个关键字用于测试跟随的子查询中的行是否存在( B )。 A.MOV B.EXISTS C.UNION D.HAVING 3 .下列哪些语句用于创建存储过程( A )? A、CREATE PROCEDURE B、CREATE TABLE C、DROP PROCEDURE D、其他 5.在SQL中,SELECT语句的“SELECT DISTINCT”表示查询结果中 ( C )。 A.属性名都不相同 B.去掉了重复的列 C.行都不相同 D.属性值都不相同 语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATA实现下列哪类功___A_____。 A. 数据查询 B. 数据操纵 C. 数据定义 D. 数据控制 Server 2000 采用的身份验证模式有( D )。 (A)仅Windows身份验证模式 (B)仅SQL Server身份验证模式 (C)仅混合模式 (D)Windows身份验证模式和混合模式 Server 2000 企业版可以安装在操作系统上。( C ) (A)Microsoft Windows 98 (B)Microsoft Windows 2000 Professional (C)Microsoft Windows 2000 Server (D)Microsoft Windows XP Server是一个( C )的数据库系统。 (A)网状型(B)层次型 (C)关系型(D)以上都不是 语言中,删除一个视图的命令是( B )。 A. DELETE B. DROP C. CLEAR D. REMOVE 语言中,删除记录的命令是( A )。

数据库实验习题

《数据库概论》实验指导书 (2003级) 一、实验目的: 数据库系统是一门应用性很强的课程,上机实验是数据库课程的重要环节。本实验是结合《数据库概论》课程的学习而开设的实验。本实验目的如下: 1. 通过上机实验,加深对数据库系统理论知识的理解,增强对网络环境下大型数据库的感性认识和实际操作能力; 2. 通过使用具体的DBMS,了解一种实际的数据库管理系统,并掌握其操作技术。熟悉ORACLE数据库的Net8工具,掌握ORACLE数据库的网络连接配置; 3. 学习使用SQL语言,加深对SQL语言的认识和理解,提高SQL语言的实际应用能力; 4. 加强对事务处理、权限管理等概念的认识和理解。 二、适应专业:信息管理与信息系统,信息与计算机科学 三、实验学时数:12学时 四、实验内容及学时安排: 实验准备: 各班选出10个同学,协助老师搭建试验环境。包括: 1)安装ORACLE客户端,配置与主机的数据库连接。 2)安装软件工具 PLSQL/DEVELOPER 3)负责本班用户的建立。 分为两批上午下午各两个班。 实验一:数据定义/数据操纵语言 实验目的:熟悉Oracle上机环境以及Oracle客户端的配置;熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引;熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。 学时数:4学时 实验内容:SQL数据定义语句, SQL数据操纵语句。 实验要求:1. 熟悉Oracle上机环境; 2. 建立数据库表,修改数据库表结构,建立、删除索引;

3. 对数据库表进行插入、修改和删除数据的操作。 实验二:数据查询语言,视图定义 实验目的:体会SQL语言数据查询功能的丰富和复杂,视图使用。 学时数:4学时 实验内容:SQL数据查询语句,视图的定义与操纵; 实验要求:对数据库表进行各种查询操作,建立视图,视图查询,视图更新; 实验三:授权控制与事务处理 实验目的:通过实验进一步理解视图的建立和更新、数据库的权限管理和事务处理功能。 学时数:2学时 实验内容: 1. SQL数据控制语句; 2. SQL事务处理。 实验要求: 1. 给某一或全部用户授权和收回授权; 2. 事务回退,事务提交。 五、教材及参考文献 1.《数据库系统概论》(第三版)萨师煊等编著高等教育出版社 2000.2 2.《ORACLE 8.x For Windows NT实用教程》翁正科等编著清华大学出版社 1998.10 六、实验环境 实验要求如下环境 服务器端:Windows 2000NT Server; ORACLE 8.x Database Server For Windows Windows2000 Server 客户端: Windows9x;Oracle 8.x Client 网络协议:TCP/IP 七、成绩考核 上机实验考核采取实验报告和上机抽查检验相结合的方式。每次实验结束后都必须写出实验报告。 八. 实验报告

数据库sql查询语句上机练习1_习题_结果(单世民)

习题1 请根据给出的数据库表结构来回答相应问题: DEPT (DEPTNO INT, DNAME VARCHAR(14),LOC VARCHAR(13)); EMP (EMPNO INT,ENAME VARCHAR(10), JOB VARCHAR(9), MGR INT, HIREDATE DATE, SAL FLOAT, COMM FLOAT, DEPTNO INT); BONUS (ENAME VARCHAR(10), JOB VARCHAR(9), SAL INT, COMM INT); SALGRADE ( GRADE INT, LOSAL INT, HISAL INT); 其中表中包含如下数据: DEPT表: EMP表: SALGRADE表:

BONUS表: 无数据 根据上面描述完成下面问题: (注意:注意保存脚本,尤其是DDL和DML,以便进行数据还原) DDL 1. 写出上述表的建表语句。此外,在DEPT上创 建名为”PK_DEPT”的主键约束,在EMP表上 创建名为”PK_EMP”的主键约束以及指向表 DEPT的外键约束”FK_DEPTNO”。 命令: Create table DEPT (DEPTNO INT NOT NULL,DNAME VARCHAR(14),LOC VARCHAR(13)); Alter table DEPT add constraint PK_DEPT PRIMARY KEY (DEPTNO); create table EMP(EMPNO INT NOT NULL,ENAME VARCHAR(10),JOB VARCHAR(9),MGR INT,HIREDATE DATE, SAL FLOAT,COMM FLOAT,DEPTNO INT); alter table EMP add constraint PK_EMP PRIMARY KEY (EMPNO); alter table EMP add constraint FK_DEPTNO foreign key(DEPTNO) references DEPT(DEPTNO);

数据库上机题

现有一个商店的数据库,记录顾客及其购物情况,由下面三个表组成: 商品(商品号,商品名,单价,商品类别,供应商); 顾客(顾客号,姓名,住址); 购买(顾客号,商品号,购买数量); 建表,在定义中要求声明: 1)每个表的主外码; 2)顾客的姓名和商品名不能为空值; 3)单价必须大于0,购买数量必须在0到20之间; 1.往表中插入数据: 商品( M01,佳洁士,8.00,牙膏,宝洁; M02,高露洁,6.50,牙膏,高露洁; M03,洁诺,5.00,牙膏,联合利华; M04,舒肤佳,3.00,香皂,宝洁; M05,夏士莲,5.00,香皂,联合利华; M06,雕牌,2.50,洗衣粉,纳爱斯; M07,中华,3.50,牙膏,联合利华; M08,汰渍,3.00,洗衣粉,宝洁; M09,碧浪,4.00,洗衣粉,宝洁 ) 顾客(C01,Dennis,海淀; C02,John,朝阳; C03,Tom,东城; C04,Jenny,东城; C05,Rick,西城;) 购买(C01,M01,3;C01,M05,2; C01,M08,2;C02,M02,5; C02,M06,4;C03,M01,1; C03,M05,1;C03,M06,3; C03,M08,1;C04,M03,7; C04,M04,3;C05,M06,2; C05,M07,8;) 2.用SQL语句完成下列查询: (1)检索购买了供应商"宝洁"产品的所有顾客; (2)检索买的商品包括了顾客"Dennis"所购买商品的顾客(姓名); (3)检索牙膏卖出数量最多的供应商。 (4)检索至少购买了两种商品的所有顾客 (5)检索全部顾客都购买过的商品 (6)将所有的牙膏商品单价增加10%。 (7)删除从未被购买的商品记录。

SQL上机练习题

《数据库软件SQL SERVER》 考试说明:在F:盘新建一个以考生的学号和姓名命名的文件夹(例如2007001张三),将所做的数据库以及所有的SQL文本文件均存放在此文件夹中。(第一题为数据库,第二、三、四和五题均存为一个SQL文本文件,请标明题目编号) 一、(30分)操作题 创建数据库:在该文件夹下创建一个为“library”的数据库,主文件的初始大小为3MB,增长方式为10%增长,最大容量为10MB。日志文件初始大小为3MB,增长方式为1MB,最大容量为10MB。“library”中包含的数据“book”表有如下结构:(bookid为主键) (2)创建一视图view_borrow,要求包含借阅者的姓名、所借阅图书名和借阅日期 “library”表记录如下:

二、(40分)编写查询语句(要求所有命令存储于SQL的文本文件中,文件名SQL代码”) (1)向“book”表中添加一条记录,书号为100005,书名计算机网 络基础,作者孙超 (2)修改“reader”表中记录,将姓刘凡易的所在部门改为水建 (3)查询所有未借阅图书的所有读者姓名 (4)查询至少借阅了两门图书的读者的姓名 (5)查询借阅了“100001”和未借阅“100002”图书的读者姓名 (6)查询出借阅了图书的各个部门的人数 (7)查询和“大学英语”出版社相同的图书名称 (8)查询比所有图书平均价低的图书的编号 (9 )查询书名中包含有“计算机”的书名和作者 (10)查询各个出版社中图书最高价格、最低价格和图书数目 三、(10分)编写存储过程 要求利用读者姓名查询出该读者所借阅图书的书名、出版社和价格, 并 军”读者的相关信息。

数据库上机实验报告 总结

重庆邮电大学移通学院 数据库集中上机报告 学生:马志鹏 学号: 022******* 班级: 02210901 专业:计算机应用技术 重庆邮电大学移通学院 2011年6月

第一天:Access数据库基本操作 1 实验目的 1、熟悉的掌握Access数据库结构与创建 2、了解创建、修改、删除、查询、保存等操作 3、输入数据创建、设计器创建、向导创建。 2 实验内容 3 实验结果 1. 2. 2

重庆邮电大学移通学院 3 2 Access 数据表的编辑 第二天 数据表基本操作 1 表关系与编辑数据 1 实验目的: 1、实现一对一,一对多,多对多的实体关系 2、对“学生基本信息”表中的记录进行排序,按出生日期降序排列 3、从“学生基本信息”表中筛选出所有计算机系男生的记录 4、从“学生基本信息”表中筛选出回族和蒙古族的所有学生记录

2 实验内容 1. SELECT 学生基本信息表.学生姓名, 成绩档案表.* FROM 成绩档案表INNER JOIN 学生基本信息表ON 成绩档案表.学生学号= 学生基本信息表.学生学号 WHERE (((学生基本信息表.学生姓名)="张冰冰")); 2 SELECT 学生基本信息表.* FROM 学生基本信息表 WHERE (((学生基本信息表.性别)="男") AND ((学生基本信息表.班级名称)="计算机系")); 3 SELECT 成绩档案表.C语言, 课程表.* FROM 成绩档案表, 课程表; 4 SELECT 学生基本信息表.*, 学生基本信息表.性别, 学生基本信息表.班级名称FROM 学生基本信息表WHERE (((学生基本信息表.性别)<>"男") AND ((学生基本信息表.班级名称)<>"计算机系")); 5 SELECT 学生基本信息表.*, 学生基本信息表.出生日期 FROM 学生基本信息表WHERE (((Month([出生日期]))=9) AND ((Day([出生日期]))=1)); 6 SELECT 学生基本信息表.* FROM 学生基本信息表WHERE (((学生基本信息表.学生姓名) Like "李*")); 3 实验结果 4

相关文档
相关文档 最新文档