数据库管理系统实验报告含答案

合集下载

数据库实验内容-答案

数据库实验内容-答案

实验内容:实验一:数据库的操作使用Management Studio和sql语句分别完成以下操作:1.创建一个名为“SM”的数据库,数据文件初始大小为3MB,最大为50MB,数据库自动增长,增长方式按10%;日志文件初始大小为2MB,数据大小不受限制,按1MB增长。

create database smon(name='smdata',filename='e:\smdata.mdf',size=3,maxsize=50,filegrowth=10%)log on(name='smlog',filename='e:\smlog.ldf',size=2,maxsize=unlimited,filegrowth=1)2.修改数据库“SM”,将数据文件名改成“sm_data”,初始大小改成5MBalter database smmodify file( name='smdata',newname='sm_data',size=5)3.分别查看数据库“SM”,该数据库中的文件和文件组。

exec sp_helpfile smexec sp_helpfilegroup sm4.删除数据库“SM”。

drop database sm实验二:创建表1. 在数据库SM中创建学生表student,课程表course,选课表scstudent(sid,sno,clno,sname,ssex,sage,sbir)说明:sid int identity(1,1) 序号sno 为主关系键,为字符类型学号clno 字符类型,班级号sname 字符类型,并不为空ssex 字符类型,check的值的范围为男女sbir 日期类型出生日期sage int;use smcreate table student( sid int identity(1,1),sno char(10) constraint pk_st primary key,clno char(10),sname varchar(20) not null,ssex char(2) constraint ck_ssex check(ssex in('男','女')),sbir datetime,sage int)course(cno,cname,ccredits,ctno,cpno,ctime)说明:cno 字符类型,主关系键cname 字符类型,唯一键ccredits 学分,精确数值型,精确长度为2,小数位为1ctno ,cpno 字符类型ctime 整型create table course(cno char(4) constraint pk_c primary key,cname varchar(20) constaint uk_cname unique,ccredit decimal(2,1),ctno char(2),cpno char(4),ctime tinyint)sc(sno,cno,score)说明:sno+cno为主键,并且sno是student的外部键,cno是course的外部键。

数据库的管理实验报告

数据库的管理实验报告

数据库的管理实验报告数据库的管理实验报告引言数据库管理是现代信息管理的重要组成部分,通过对数据的存储、检索、更新和删除等操作,实现对数据的有效管理和利用。

本篇实验报告将介绍我们小组在数据库管理实验中的实践过程和结果。

实验目的本次实验的目的是通过使用数据库管理系统,实现对一个简单的学生信息管理系统的设计和实现。

通过这个实验,我们将学习和掌握数据库的基本操作和管理技术,并能够在实际应用中灵活运用。

实验环境我们使用的数据库管理系统是MySQL,它是一个免费、开源的关系型数据库管理系统。

我们选择MySQL作为实验环境,是因为它具有广泛的应用领域和强大的功能,同时也有丰富的学习资源和社区支持。

实验过程1. 数据库设计在实验开始之前,我们首先进行了数据库的设计。

我们确定了需要存储的数据表,包括学生表、课程表和成绩表。

学生表包括学生的学号、姓名、性别和年龄等信息;课程表包括课程的编号、名称和学分;成绩表包括学生的学号、课程的编号和成绩等信息。

通过这些表的设计,我们可以建立学生、课程和成绩之间的关联关系,实现对学生信息和成绩的管理。

2. 数据库创建在数据库设计完成后,我们使用MySQL命令行工具创建了一个名为"student_management"的数据库。

通过创建数据库,我们为后续的实验操作提供了一个存储数据的空间。

3. 数据表创建在数据库创建完成后,我们使用MySQL命令行工具创建了三个数据表,分别是"student"、"course"和"score"。

通过创建这些数据表,我们实现了对学生信息、课程信息和成绩信息的存储。

4. 数据插入在数据表创建完成后,我们使用MySQL命令行工具插入了一些测试数据。

通过插入数据,我们可以验证数据库的设计是否合理,并且为后续的实验操作提供了一些具体的数据。

5. 数据查询在数据插入完成后,我们使用MySQL命令行工具进行了一些数据查询操作。

实验报告数据库实验系统(3篇)

实验报告数据库实验系统(3篇)

第1篇一、实验目的1. 理解数据库系统的基本概念和原理。

2. 掌握数据库的创建、修改、删除和查询等基本操作。

3. 熟悉SQL语言,并能够运用SQL语言进行数据库的操作。

4. 了解数据库的安全性和完整性控制方法。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:Visual Studio Code三、实验内容1. 数据库的创建与修改2. 数据表的创建与修改3. 数据的插入、删除和查询4. 视图的创建与修改5. 存储过程的创建与调用6. 数据库的安全性与完整性控制四、实验步骤1. 数据库的创建与修改(1)创建数据库```sqlCREATE DATABASE mydb;``````sqlALTER DATABASE mydb CHARACTER SET utf8;```2. 数据表的创建与修改(1)创建数据表```sqlCREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender CHAR(1));```(2)修改数据表```sqlALTER TABLE students ADD COLUMN email VARCHAR(50);```3. 数据的插入、删除和查询(1)插入数据```sqlINSERT INTO students (id, name, age, gender) VALUES (1, '张三', 20, '男');``````sqlDELETE FROM students WHERE id = 1; ```(3)查询数据```sqlSELECT FROM students;```4. 视图的创建与修改(1)创建视图```sqlCREATE VIEW student_info AS SELECT id, name, age, genderFROM students;```(2)修改视图```sqlALTER VIEW student_info ASSELECT id, name, age, gender, email FROM students;```5. 存储过程的创建与调用(1)创建存储过程```sqlDELIMITER //CREATE PROCEDURE get_student_info(IN student_id INT)BEGINSELECT FROM students WHERE id = student_id;END //DELIMITER ;```(2)调用存储过程```sqlCALL get_student_info(1);```6. 数据库的安全性与完整性控制(1)设置用户权限```sqlGRANT SELECT, INSERT, UPDATE, DELETE ON mydb. TO 'username'@'localhost' IDENTIFIED BY 'password';```(2)设置数据完整性```sqlALTER TABLE students ADD CONSTRAINT chk_age CHECK (age >= 18);```五、实验结果与分析1. 数据库创建成功,字符集设置为utf8。

《数据库实验》实验报告

《数据库实验》实验报告

《数据库实验》实验报告一、实验目的本实验旨在通过设计与实现一个简单的学生信息管理系统,来加深对数据库基本概念和SQL语言的理解,并掌握数据库的创建、表的设计、数据的增删改查等基本操作。

二、实验环境本次实验的开发环境为以下软件与工具:1. 数据库管理系统:MySQL2. 编程语言:Java3. 开发工具:Eclipse IDE4. Web服务器:Apache Tomcat三、实验内容及步骤1. 数据库的创建与连接首先,在MySQL中创建一个名为"student_system"的数据库,并通过JDBC连接该数据库。

在Java代码中,使用JDBC的API进行数据库连接操作,包括加载驱动、建立连接等步骤。

2. 数据表的设计与创建在student_system数据库中创建一个名为"student"的数据表,该表用于存储学生的基本信息。

表中应包含学号(id)、姓名(name)、性别(gender)和专业(major)等字段,并设置合适的数据类型和约束。

3. 数据的插入与修改通过SQL语句,在student表中插入若干条学生信息,包括学号、姓名、性别和专业。

同时,通过SQL的UPDATE语句,修改某些学生的信息。

4. 数据的查询编写SQL语句,实现对学生信息的查询。

可以根据学号或姓名等关键字进行查询,并返回符合条件的学生信息。

5. 数据的删除根据指定的学号或姓名,编写SQL语句实现对学生信息的删除操作。

删除后,该学生的信息将不再存在于数据库中。

四、实验结果经过以上实验步骤的设计与实现,在学生信息管理系统中,成功地创建了student表,并成功插入了若干学生信息。

通过SQL语句的查询和修改操作,可以准确地获取和修改学生的信息。

此外,删除操作也能够成功地从数据库中删除指定学生的信息。

五、实验总结通过本次实验,我进一步掌握了数据库的基本操作与SQL语言的应用。

在实验过程中,我理解到数据库的设计与搭建是一个关键步骤,合理的表结构和约束条件对于数据的管理和有效性有着重要的影响。

数据库系统实验课实验报告

数据库系统实验课实验报告

数据库系统实验课实验报告一、实验目的数据库系统实验课是一门重要的实践课程,旨在通过实际操作和实验,深入理解数据库系统的原理和应用,提高我们的数据库设计、管理和应用开发能力。

本次实验的具体目的包括:1、熟悉数据库管理系统(DBMS)的操作环境和基本命令。

2、掌握数据库的创建、表的设计、数据的插入、查询、更新和删除等基本操作。

3、学会使用 SQL 语句进行复杂的数据查询和数据处理。

4、理解数据库的完整性约束、索引和存储过程的概念及应用。

5、培养解决实际数据库问题的能力和团队协作精神。

二、实验环境本次实验使用的数据库管理系统是 MySQL 80,实验在 Windows 10 操作系统上进行。

使用的开发工具包括 MySQL Workbench 和命令行终端。

三、实验内容1、数据库的创建使用 CREATE DATABASE 语句创建了一个名为“student_management”的数据库,用于存储学生管理相关的数据。

2、表的设计在“student_management”数据库中,设计了以下几张表:“students”表,包含学生的学号(student_id)、姓名(student_name)、性别(gender)、年龄(age)等字段。

“courses”表,包含课程的课程号(course_id)、课程名称(course_name)、学分(credit)等字段。

“enrolls”表,用于记录学生选课的信息,包含学号(student_id)、课程号(course_id)、成绩(grade)等字段。

在设计表时,为每个字段选择了合适的数据类型,并设置了主键和外键约束,以保证数据的完整性和一致性。

3、数据的插入使用 INSERT INTO 语句向“students”、“courses”和“enrolls”表中插入了一些示例数据,以便进行后续的查询和操作。

4、数据的查询使用简单的 SELECT 语句查询了“students”表中的所有学生信息。

(完整版)数据库实验报告

(完整版)数据库实验报告

数据库实验报告姓名学号目录一.实验标题:2二.实验目的:2三.实验内容:2四.上机软件:3五.实验步骤:3(一)SQL Server 2016简介3(二)创建数据库 4(三)创建数据库表 7(四)添加数据17六.分析与讨论: 19一.实验标题:创建数据库和数据表二.实验目的:1.理解数据库、数据表、约束等相关概念;2.掌握创建数据库的T-SQL命令;3.掌握创建和修改数据表的T-SQL命令;4.掌握创建数据表中约束的T-SQL命令和方法;5.掌握向数据表中添加数据的T-SQL命令和方法三.实验内容:1.打开“我的电脑”或“资源管理器”,在磁盘空间以自己的姓名或学号建立文件夹;2.在SQL Server Management Studio中,使用create database命令建立“学生-选课”数据库,数据库文件存储在步骤1建立的文件夹下,数据库文件名称自由定义;3.在建立的“学生-选课”数据库中建立学生、课程和选课三张表,其结构及约束条件如表所示,要求为属性选择合适的数据长度;4.添加具体数据;四.上机软件:SQL Server 2016五.实验步骤:(一)SQL Server 2016简介1.SQL Server 2016的界面2.启动和退出SQL Server 20161)双击图标,即出现SQL Server2016的初始界2)选择“文件”菜单中的“退出”命令,或单击控制按钮中的“×”即可注意事项:1.在退出SQL Server 2016之前,应先将已经打开的数据库进行保存,2.如果没有执行保存命令,系统会自动出现保存提示框,根据需要选择相应的操作(二)创建数据库方法一:1.点击“新建查询”,出现如下对话框2.在空白区域输入创建数据库“学生选课”的代码命令,点击“执行”3.消息框中出现“命令已成功完成”即表示数据库创建成功,在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”方法二:1.右击数据库,在弹出的快捷菜单中选择“新建”2.在弹出的对话框中输入“学生选课”3. 在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”注意事项:数据库名称在服务器中必须唯一,并且符合标识符的规则(三)创建数据库表1.左键点击“学生选课”数据库,再点击“新建查询”,在出现的空白对话框中输入如图代码后点击“执行”,消息框中出现“命令已成功执行”即成功建立好学生、课程、选课三张表2.建立成功后的表格如图所示注意事项:1.T-SQL中创建数据库表的指令格式为:Create table 表名(字段名1 数据类型{identify | not null | null},字段名2 数据类型{identify | not null | null},……)null表示该字段的值可以为控制,空值意味着没有任何存储数据,这是默认参数,当所定义的字段允许空值时,参数null可以忽略not null表示该字段的值不能为空值identify称为计数器,表示该字段的值是一组递增的证书数据。

数据库管理系统实验报告含复习资料

xxxx大学《数据库管理系统》课程实验报告班级: _______姓名:实验时间:年月日指导教师:_______一、实验目的1、通过实验,使学生全面了解最新数据库管理系统的基本内容、基本原理。

2、牢固掌握SQL SERVER的功能操作和Transact-SQL语言。

3、紧密联系实际,学会分析,解决实际问题。

学生通过小组项目设计,能够运用最新数据库管理系统于管理信息系统、企业资源计划、供应链管理系统、客户关系管理系统、电子商务系统、决策支持系统、智能信息系统中等。

二、实验内容1.导入实验用示例数据库:f:\教学库.mdff:\教学库_log.ldff:\仓库库存.mdff:\仓库库存_log.ldf1.1 将数据库导入在SqlServer 2005 导入已有的数据库(*.mdf)文件,在SQL Server Management Studio 里连接上数据库后,选择新建查询,然后执行语句EXEC sp_attach_db @dbname = '教学库',@ = 'f:\教学库.mdf',@ = 'f:\教学库_log.ldf'gouse [教学库]EXEC sp_changedbowner 'sa'goEXEC sp_attach_db @dbname = '仓库库存',@ = 'f:\仓库库存.mdf',@ = 'f:\仓库库存_log.ldf'gouse [仓库库存]EXEC sp_changedbowner 'sa'go1.2 可能出现问题附加数据库出现“无法打开物理文件"X.mdf"。

操作系统错误5:"5(拒绝访问。

)"。

(Microsoft SQL Server,错误: 5120)”。

解决:找到要附加的.mdf文件-->右键-->属性-->安全-->选择当前用户-->编辑-->完全控制。

数据库实验答案分析总结

实验实验 实验一实验一熟悉SQL SERVER2000 1.在“程序”菜单中寻找“Microsoft SQL Server”菜单项。

菜单项。

2.如果“Microsoft SQL Server”菜单项下有“服务管理器”,则启动服务管理器,在其界面中启动SQL SERVER 服务。

服务。

3.在“Microsoft SQL Server”菜单项下打开“企业管理器”。

4.点击工具栏上的图标,注册一个SQL SERVER 服务器。

服务器。

5.在注册向导的“可用服务器”中选择一个服务器添加到“添加的服务器”中,点击下一步。

中,点击下一步。

6.选择“系统管理员分配的SQL Server 登录信息”。

7.填写登录名和密码。

填写登录名和密码。

8.不改变默认选项,添加到现有组中。

不改变默认选项,添加到现有组中。

9.完成SQL Server 注册。

注册。

10.熟悉SQL Server 的使用环境,可以完成简单的建库、建表操作,可查看联机帮助。

的使用环境,可以完成简单的建库、建表操作,可查看联机帮助。

11.打开“工具”菜单下的“查询分析器”,可以完成SQL 语句的执行操作。

语句的执行操作。

实验二实验二实验要求:用sql 语句建立如下的表结构并输入数据:语句建立如下的表结构并输入数据: 学生表:student (主键Sno ) 课程表:Course (主键Cno )学号学号 Sno 姓名姓名 Sname 性别性别 Ssex 年龄年龄 Sage 所在系所在系 Sdept 95001 李勇 男 20 CS 95002 刘晨 女 21 IS 95003 王敏 女 18 MA 95004 张力 男19IS选课表:SC (主键Sno,Cno ,外部键Sno ,Cno ) 学号学号 Sno 课程表课程表 Cno 成绩成绩 Grade 95001 1 92 95001 2 85 95001 3 88 95002 2 90 950023856.查询选修了3号课程的学生姓名及成绩,并按成绩降序排序。

管理数据库实验报告

管理数据库实验报告数据库管理是计算机科学领域的一个重要分支,它涉及到对数据的组织、存储、访问和管理等方面。

在数据库管理实验中,我们通过设计和实现一个简单的数据库系统来加深对数据库管理的理解和掌握。

本篇文章将从数据库的基本概念、实验设计、实验过程和实验结果等方面进行论述。

一、数据库的基本概念数据库是指存储在计算机中、按照一定数据模型组织起来、具有独立性的数据集合。

数据库管理系统(DBMS)是用于管理数据库的软件工具,它提供了对数据库的创建、查询、修改和删除等操作。

在数据库中,数据以表的形式进行组织,每个表由多个字段组成,而每个字段则代表一个数据项。

二、实验设计在数据库管理实验中,我们需要设计一个简单的数据库系统,以学生信息管理为例。

该数据库系统包含两个表,一个是学生表,另一个是课程表。

学生表包括学生的学号、姓名和年龄等字段,课程表包括课程的编号、名称和学分等字段。

两个表之间通过学号进行关联。

三、实验过程1. 数据库的创建:首先,在DBMS中创建一个新的数据库,命名为“学生信息管理系统”。

然后,创建两个表,分别命名为“学生表”和“课程表”。

为每个表定义字段,并设置主键、外键和其他约束条件。

2. 数据的插入:接下来,将一些学生和课程的信息插入到相应的表中。

可以通过手动输入或导入外部文件的方式进行数据的插入。

3. 数据的查询:使用SQL语句对数据库中的数据进行查询。

可以根据学号、课程名称等条件进行查询,并获取符合条件的数据。

4. 数据的修改和删除:根据需要,可以对数据库中的数据进行修改和删除操作。

可以修改学生的年龄、课程的学分等字段的值,也可以删除某个学生或课程的信息。

四、实验结果通过以上实验过程,我们可以得到一些实验结果。

首先,我们可以验证数据库的创建是否成功,查看表的结构和属性是否正确。

其次,我们可以通过查询操作验证数据库中的数据是否正确。

如果查询结果与预期结果一致,则说明数据库的查询功能正常。

最后,我们可以通过修改和删除操作来验证数据库的更新功能是否可靠。

数据库试验答案

数据库试验答案计算机与信息学院数据库实验报告专业班级学⽣姓名及学号课程教学班号任课教师实验指导教师实验地点2012 ~2013 学年第⼆学期实验1 使⽤向导创建和删除数据库⼀、实验⽬的1.熟悉SQL Server 中SQL Server Management Studio的环境2.了解SQL Server 数据库的逻辑结构和物理结构3.掌握使⽤向导创建和删除数据库的⽅法⼆、实验要求1.熟练使⽤SSMS进⾏数据库的创建和删除操作。

2.完成实验报告。

三、实验内容设有⼀学籍管理系统,其数据库名为“EDUC”。

初始⼤⼩为 10MB,最⼤为50MB,数据库⾃动增长,增长⽅式是按5%⽐例增长;⽇志⽂件初始为2MB,最⼤可增长到5MB,按1MB增长。

数据库的逻辑⽂件名为“student_data”, 物理⽂件名为“student_data.mdf,存放路径为“E:\sql_data”。

⽇志⽂件的逻辑⽂件名为“student_log”, 物理⽂件名为“student_log.ldf”,存放路径为“E:\sql_data”。

四、实验步骤1.使⽤SQL Server Management Studio(简称SSMS)创建数据库。

(1)启动SSMS在开始菜单中:所有程序-SQL Server 2005 -SQL Server Management Studio单击“连接”按钮,便可以进⼊【SQL Server Management Studio】窗⼝。

如果⾝份验证选择的是“混合模式”,则要输⼊sa的密码。

(2)建⽴数据库在“对象资源管理器”窗⼝,建⽴上述数据库EDUC。

在数据库节点上右击选择新建。

同时建⽴⼀个同样属性的数据库EDUC1。

2. 使⽤向导删除上⾯建⽴的数据库。

⽤SSMS删除建⽴的数据库EDUC。

五、实验总结经过本次试验,对于SQL SERVER有了⼀个初步的认识,也对于在sql server上创建数据库有了⼀定的了解。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

共享知识 分享快乐 卑微如蝼蚁、坚强似大象 xxxx大学《数据库管理系统》课程实验报告

班级: _______姓名: 实验时间: 年 月 日 指导教师:_______

一、实验目的 1、通过实验,使学生全面了解最新数据库管理系统的基本内容、基本原理。 2、牢固掌握SQL SERVER的功能操作和Transact-SQL语言。 3、紧密联系实际,学会分析,解决实际问题。学生通过小组项目设计,能够运用最新数据库管理系统于管理信息系统、企业资源计划、供应链管理系统、客户关系管理系统、电子商务系统、决策支持系统、智能信息系统中等。

二、实验内容 1.导入实验用示例数据库: f:\教学库.mdf f:\教学库_log.ldf

f:\仓库库存.mdf f:\仓库库存_log.ldf

1.1 将数据库导入 在SqlServer 2005 导入已有的数据库(*.mdf)文件,在SQL Server Management Studio里连接上数据库后,选择新建查询,然后执行语句

EXEC sp_attach_db @dbname = '教学库', @filename1 = 'f:\教学库.mdf', @filename2 = 'f:\教学库_log.ldf' go use [教学库] EXEC sp_changedbowner 'sa' go

EXEC sp_attach_db @dbname = '仓库库存', @filename1 = 'f:\仓库库存.mdf', 共享知识 分享快乐 卑微如蝼蚁、坚强似大象 @filename2 = 'f:\仓库库存_log.ldf' go use [仓库库存] EXEC sp_changedbowner 'sa' go

1.2 可能出现问题 附加数据库出现“无法打开物理文件 "X.mdf"。操作系统错误 5:"5(拒绝访问。)"。 (Microsoft SQL Server,错误: 5120)”。 解决:找到要附加的.mdf文件-->右键-->属性-->安全-->选择当前用户-->编辑-->完全控制。对.log文件进行相同的处理。

2.删除创建的数据库,使用T-SQL语句再次创建该数据库,主文件和日志文件的文件名同上,要求:仓库库存_data最大尺寸为无限大,增长速度为20%,日志文件初始大小为2MB,最大尺寸为5MB,增长速度为1MB。 CREATE DATABASE仓库库存 (NAME = '仓库库存_data', FILENAME = 'F:\仓库库存_data.MDF' , SIZE = 10MB, FILEGROWTH = 20%) LOG ON (NAME ='仓库库存_log', FILENAME = 'F:\仓库库存_log. LDF', SIZE = 2MB, MAXSIZE = 5MB, FILEGROWTH = 1MB)

2.1 在数据库“仓库库存”中完成下列操作。 (1)创建“商品”表,表结构如表1: 表1 商品表

列名 数据类型 长度 是否允许为空值 说明 商品编号 Char 6 NOT NULL 主键 商品名称 Varchar 20 NOT NULL, 单价 Float 生产商 Varchar 30

(2)创建“仓库”表,表结构如表2: 表2 仓库表 共享知识 分享快乐 卑微如蝼蚁、坚强似大象 列名 数据类型 长度 是否允许为空值 说明 仓库编号 Char 3 NOT NUL 主键 仓库地址 Varchar 20 NOT NULL

(3)创建“库存情况”表,表结构如表3: 表3 库存情况表 列名 数据类型 长度 是否允许为空值 说明 仓库编号 Char 3 NOT NULL 主键 商品编号 Char 6 NOT NUL 主键 数量 int

(1)USE仓库库存 GO CREATE TABLE 商品 (商品编号 char(6) NOT NULL PRIMARY KEY, 商品名称 char(20) NOT NULL, 单价 Float, 生产商 Varchar (30) ) (2),(3)略。 2.2 建立“商品”表、“仓库”表和“库存情况”表三表之间的关系图。

2.3分别给“商品”表、“仓库”表和“库存情况”表添加数据。 3.数据库查询. 3.1 试用SQL的查询语句实现下列查询: (1)统计有学生选修的课程门数。 答:SELECT COUNT(DISTINCT 课程号) FROM 选课 (2)求选修C004课程的学生的平均年龄。 答:SELECT AVG(年龄) FROM 学生,选课 WHERE 学生.学生号=选课.学生号 and 课程号=’C004’ (3)求学分为3的每门课程的学生平均成绩。 答:SELECT 课程.课程号,AVG(成绩) FROM 课程,选课 WHERE 课程.课程号=选课.课程号and 学分=3 GROUP BY 课程.课程号 (4)统计每门课程的学生选修人数,超过3人的课程才统计。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。 共享知识 分享快乐 卑微如蝼蚁、坚强似大象 答:SELECT 课程号,COUNT(*) FROM 选课 GROUP BY 课程号 HAVING COUNT(*) >3 ORDER BY COUNT(*) DESC, 课程号 (5)检索学号比王明同学大,而年龄比他小的学生姓名。 答:SELECT 姓名 FROM 学生

WHERE 学生号>(SELECT 学生号FROM 学生 WHERE 姓名='王明') and 年龄<(SELECT 年龄FROM 学生 WHERE 姓名='王明') (6)检索姓名以王打头的所有学生的姓名和年龄。 答:SELECT 姓名,年龄 FROM 学生 WHERE 姓名 LIKE ‘王%’ (7)在选课表中检索成绩为空值的学生学号和课程号。 答:SELECT 学生号,课程号 FROM 选课 WHERE 成绩 IS NULL (8)求年龄大于女同学平均年龄的男学生姓名和年龄。 答:SELECT 姓名,年龄 FROM 学生 WHERE 性别=’男’ and 年龄 >(SELECT AVG(年龄) FROM 学生 WHERE 性别=’女’) (9)求年龄大于所有女同学年龄的男学生姓名和年龄。 答:SELECT 姓名,年龄 FROM 学生 WHERE 性别=’男’ and 年龄 > all (SELECT 年龄 FROM 学生 WHERE 性别=’女’) (10)检索所有比王明年龄大的学生姓名、年龄和性别。 答:SELECT 姓名,年龄,性别 FROM 学生 WHERE 年龄 > (SELECT 年龄 FROM 学生 WHERE 姓名=’王明’) (11)检索选修课程C001的学生中成绩最高的学生的学号。 答:SELECT 学生号 FROM 选课 WHERE 课程号=’C001’ and 成绩=(SELECT MAX(成绩) FROM选课 WHERE课程号=’C001’) (12)检索学生姓名及其所选修课程的课程号和成绩。 答:SELECT 姓名, 课程号, 成绩 FROM 学生,选课 WHERE学生.学生号=选课.学生号 (13)检索选修2门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的共享知识 分享快乐 卑微如蝼蚁、坚强似大象 降序排列出来。 答:SELECT 学生号,SUM(成绩) FROM 选课 WHERE 成绩>=60 GROUP BY学生号 HAVING COUNT(*)>=2 ORDER BY SUM(成绩) DESC 3.2 利用控制流语句,查询学生号为0101001的学生的各科成绩,如果没有这个学生的成绩,就显示“此学生无成绩”。 答:IF EXISTS ( SELECT * FROM 选课 WHERE 学生号='0101001') SELECT 课程号,成绩 FROM 选课 WHERE 学生号='0101001' ELSE PRINT '此学生无成绩' 3.3 用函数实现:求某个专业选修了某门课的学生人数。 答:CREATE FUNCTION renshu(@p char(10),@cn char(4)) RETURNS float AS BEGIN DECLARE @cou float SELECT @cou=( SELECT count(*) FROM 学生,选课 WHERE学生.学生号=选课.学生号 and课程号=@cn and 专业=@p) RETURN @cou END 3.4 用函数实现:查询某个专业所有学生所选的每门课的平均成绩。 答:CREATE FUNCTION average (@p char(10)) RETURNS float AS BEGIN DECLARE @aver float SELECT @aver=( SELECT 课程号,avg(成绩) FROM 学生,选课 WHERE学生.学生号=选课.学生号 and 专业=@p GROUP BY 课程号) RETURN @aver END 3.5 针对“仓库库存”中的“商品”表,查询商品的价格等级,商品号、商品名和价格等级(单价1000元以内为“低价商品”,1000~3000元为“中等价位商品”,3000元以上为“高价商品”)。 答:SELECT商品编号, 商品名称, CASE

相关文档
最新文档