实验二 数据库操作
SQL实验二:数据库查询实验报告

实验二数据库的查询实验实验目的和要求(1)掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。
(2)熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
(3)熟练掌握数据查询中的分组、统计、计算和组合的操作方法。
实验内容和原理在实验一定义的“学生成绩数据库”中,使用T-SQL 语句完成以下查询:(1 )求计算机系学生的学号和姓名。
(2)求选修了数学的学生学号、姓名和成绩。
(3)求选修01 课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。
(4)查找选修课程的平均成绩位于前三名的学生的学号。
(5)查询计算机系的姓刘且单名的学生的信息。
(6)查询至少选修两门课程的学生学号。
(7)查询学生的学号、课程号以及对应成绩与所有学生所有课程的最高成绩的百分比。
(8)查询选修“数据库”课程,且成绩在80 分以上的学生的学号和成绩。
(9)查询所有姓“王”的同学没有选修的课程名。
(请分别用exists和in完成该查询) (10)查询选修了全部课程的学生的姓名。
(请至少写出两种查询语句)(11)求选修了学生“ 95001”所选修的全部课程的学生学号和姓名。
(12)查询每一门课的间接先修课。
(13)列出所有学生所有可能的选课情况。
(14)列出每个学生的学号及选修课程号,没有选修的学生的学号也一并列出。
(15)输出与“张三”同性别并位于同一个系的所有同学的姓名。
(请至少写出两种查询语句)(16)查询至少被两名男生选修的课程名。
(17)对被两名以上学生所选修的课程统计每门课的选课人数。
要求输出课程号和选修人数,查询结果按人数降序排列;若人数相同,按课程号升序排列。
(18)列出选修课程超过 3 门的学生姓名及选修门数。
(19)检索至少选修课程号为01 和03 的学生姓名。
(20)检索至少选修课程“数学”和“操作系统”的学生学号。
(21 )查询‘操作系统'课程的最高分的学生的姓名、性别、所在系(22)查询数据结构的成绩低于操作系统的成绩的学生姓名及该生的这两门课的成绩(23)所有成绩都在70 分以上的学生姓名及所在系。
实验二数据库查询

才有权利执行数据操纵语言。
SELECT语句的语法形式如下:
SELECT select_list
[INTO new_table]
FROM table_source [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition]
或Execute to Grid方式。
发布执行命令,查看查询结果;如果结果不正确,进
行修改,直到正确为止。
查询分析器及使用方法
查询分析器是在开发数据库应用系统时使用最多的工
具。查询分析器的主要作用是编辑Transact-SQL,将 其发送到服务器,并将执行结果及分析显示出来(或进 行存储)。
定义的数据类型等。这些对象的创建、修改和删除等
都可以通过使用CREATE、ALTER、DROP等语句来完成。
数据操纵语言(DML)
数据操纵语言是指用来查询、添加、修改和删除数据
库中数据的语句,这些语句包括SELECT、INSERT、 UPDATE、DELETE等。在默认情况下,只有sysadmin、 dbcreator、db_owner或db_datawriter等角色的成员
五、练习
在学生选课库中实现其数据查询操作:
1、求选修C1课程的学生学号和成绩,并要求对查询 结果按成绩的降序排列,如果成绩相同则按学号的升 序排列。 2、求选修课程C1且成绩在80~90分之间的学生学号 和成绩,并将成绩乘以系数0.8输出。 3、求数学系或计算机系姓张的学生的信息。 4、求选修了高等数学的学生学号和姓名。 5、求C1课程的成绩高于张三的学生学号和成绩。 6、求其他系中比计算机系学生年龄都小的学生。
数据库的操作实验报告

实验二数据库的操作实验:1.创建一个学生管理数据库,该数据库的主数据文件的逻辑名称是student-data,操作系统文件是student.mdf,大小是2MB,最大是50MB,以1MB的速度增加;该数据库的日志文件的逻辑名称是student-log,操作系统是student.ldf,大小是1MB,最大不受限制程序:create database student_dataon primary(name=student_data,filename='d:\student.mdf',size=2MB,maxsize=50MB,filegrowth=1MB)log on(name=student_log,filename='d:\student.ldf',size=1MB)2.创建一个公司人事管理数据库,其中在主文件组中包含数据文件file0和file2,文件大小为2mb,最大为不受限制,增长率为10%。
次文件组filegroups中包含数据文件file3,文件大小为1mb,最大为20mb,增长为1mb。
程序:create database custon primary(name=file0_data,filename='d:\file0.mdf',size=2MB,filegrowth=10%),(name=file2_data,filename='d:\file2.mdf',size=2MB,filegrowth=10%),(name=file3_data,filename='d:\file1.mdf',size=1MB,maxsize=20MB,filegrowth=1MB)3.查看所有数据库选项列表程序:EXECUTE sp_dboption4.查看pubs数据库的数据库选项列表程序:EXECUTE sp_dboption pubs程序:EXECUTE sp_dboption pubs,’read only’,true5.查看jobs表的行数、保留的磁盘空间以及当前数据库中的表所使用的磁盘空间等信息。
实验二 数据库的基本操作

实验项目名称:数据库的基本操作
成绩:
信息对数据库进行修改、查看、删除、备份、还原等操作。
1.实验目的
掌握数据库的基础知识,了解数据库的物理组织与逻辑组成情况,学习创建、修改、查看、缩小、更名、删除、备份、还原等数据库的基本操作方法。
2、“数据文件”名为KCGL_Date.mdf,初始大小为10MB,以后按5%自动增长,大小不限;
3、“事务日志”名为KCGL_log.ldf,初始大小为5MB,以后按5%自动增长,最大不超过200MB;
4、使用Management Studio创建完整备份;
5、使用Management Studio还原完整备份。
2.实验要求
创建一个数据库,并进行备份、还原操作
3.实验预备知识
数据库可以通过在Management Studio中以交互方式或利用CREATE DATABASE语句类似创建。SQL Server的数据库有3种类型的文件来组织与存储数据:主文件、次要文件、事务日志文件。
实验内容
1、使用Management Studio中以交互方式创建数据库KCGL;
1.实验结果
完成数据库KCGL的创建、完整备份和完整还原。
2.疑难与需解决的问题
对CREATE DATABASE命令的掌握比较困难
3.实验体会
虽然对于数据库的基本操作有所掌握,但是觉得数据库依旧很复杂,需要深入学习。
教师评语及成绩
实验2数据库上的基本操作实验

课程:数据库原理及应用实验题目:数据库上的基本操作实验一、实验目的1、掌握使用T-SQL语句语句和企业管理器对数据表进行插入,修改和删除数据的操作,并体会数据完整性约束的作用,加深对数据完整性约束的理解。
2、熟练掌握INSERT、UPDATE、DELETE语句的语法和使用。
3、掌握SQL的查询语句(SELECT语句)的使用方法,掌握简单表的数据查询、数据排序和多表操作时数据连接查询的操作方法。
4、进一步掌握SELECT语句的使用的方法,通过实验能够熟练的使用SELECT语句。
本实验要求掌握嵌套查询和统计查询的方法。
二、实验内容1、分别使用T-SQL语句和企业管理器,向数据库JWGL,数据库Market,数据库SPJ,数据库TSGL中的各张表中输入一些记录。
2、使用T-SQL语句进行插入,修改和删除记录的操作。
3、简单查询操作。
包括投影,选择条件表达,数据排序等。
4、连接查询操作。
试验包括等值连接,自然连接,一半连接(内连接),外连接,做连接,右连接和自然链接等。
5、在数据库JWGL的学生表Student,课程表Course,学生选课表SC中完成第三章3.40-3.47中的查询操作。
6、在数据库Market的客户表Customers,货品表Goods,订单表Orders中完成习题6中(6)-(9)的查询。
7、在数据库SPJ中的供应商表S,零件表P,工程项目表J,供应情况表SPJ中,用SELECT 查询语句完成第2章习题10中(4)-(5)的查询。
8、在数据库TSGL的图书,读者和借阅3个表中,用SELECT语句完成一下查询。
①查询人民邮电出版社出版的各类图书的平均价格。
②使用嵌套查询完成查询借了书的读者信息。
③统计目前借了书的读者人数。
④统计过期未还书的图书册数。
三、实验环境MS SQL Server 2008四、实验前准备1、要明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE 语句的用户。
《数据库实验》实验二 数据操作实验

院系:计算机学院实验课程:数据库实验实验项目:数据操作实验指导老师:XXX开课时间:XXXX ~ XXXX年度第 2学期专业:XXXX班级:XXXX级本X班学生:XXX学号:XXXXXXXX实验二数据操作实验一、实验任务及目的1. 实验任务:上机完成实验内容,主要是编写、运行和分析SQL,请预先自行判断SQL 的运行结果(例如:查询结果包含哪些数据;更新后关系数据如何变化),然后与实际的运行结果比较,以此发现和修正SQL编写中的错误。
2. 实验目的:能够熟练使用MS SQL Server的Query Analyzer工具,联机运行SQL并观察分析SQL的执行结果。
掌握SQL的数据定义、数据查询和数据修改功能,能独立用SQL表述问题,解决较复杂的应用需求。
二、实验的主要硬件软件环境MS SQL Server、计算机磁盘三、实验主要数据结构线性表四、实验的主要算法1.至少向北京或天津的工程提供了零件的供应商名,供应的零件名、工程名和供应数量。
SELECT PNAME,JNAME,SNAME,QTYFROM S,P,J,SPJWHERE SPJ.SNO=S.SNOAND SPJ.JNO=J.JNOAND SPJ.PNO=P.PNOAND (J.CITY=’上海’ OR J.CITY=’天津’)2.供应红色零件给工程J1的供应商名SELECT SNAMEFROM S,P,SPJWHERE SPJ.JNO=’J1’AND SPJ.SNO=S.SNOAND SPJ.PNO=P.PNOAND COLOR=’红’3. 没有使用天津产的零件的工程号SELECT JNOFROM JWHERE JNO NOT IN(SELECT JNOFROM SPJ,SWHERE SPJ.SNO=S.SNOAND CITY=’天津’)4.没有向位于相同城市的工程供应零件的供应商名SELECT SNAMEFROM SWHERE SNAME NOT IN( SELECT SNAMEFROM S,J,SPJWHERE SPJ.JNO=J.JNOAND SPJ.SNO=S.SNOAND S.CITY=J.CITY)5. 和工程J3位于同一城市且使用过至少一种相同零件的其它工程名SELECT DISTINCT(JNAME)FROM J,SPJWHERE SPJ.JNO=J.JNOAND CITY IN(SELECT CITYFROM JWHERE J.JNO=’J3’)AND JNAME NOT IN(SELECT JNAMEFROM JWHERE J.JNO=’J3’)6. 每种颜色零件的总重量SELECT COLOR,SUM(WEIGHT)FROM PGROUP BY (COLOR)7.红色零件的平均重量SELECT AVG(WEIGHT)FROM PWHERE COLOR=’红’8.供应商最集中的城市(意即,哪个城市的供应商最多?)SELECT S.CITYFROM SGROUP BY (CITY)HAVING COUNT(CITY)>=ALL(SELECT COUNT(CITY)FROM SGROUP BY (CITY))9.对上海和天津,统计该城市的供应商一共供应了多少数量的零件。
实验二 数据库和表的基本操作

实验二数据库和表的基本操作
实验目的:
1.掌握创建和使用数据库和表的方法;
2.掌握创建和使用索引的方法;
3.掌握表间关系的设置和多表操作的方法。
实验要求:
1.掌握数据库表的创建、删除和属性的使用,以及自由表和数据库表之间的相互转换;2.掌握索引的建立、维护和使用;
3.掌握建立数据库表之间的永久关系,及表之间的参照完整性的设置方法;
4.掌握建立表之间的临时关系的方法。
实验内容:
练习课本第3章举例和P83实验内容。
注意事项:
1.每次实验时,请事先准备好自己表的实例,为表的计算、汇总,实例中应有数值字段;2.索引时,应将结构复合索引的四种索引类型全部实验;
3.注意数据库(Database)与表(Table)之间的关系,数据库中的表与自由表之差异;
4.从数据库增加或去掉表,观察表结构的变化;
5.删除和关闭数据库,观察表的变化;
附录:表结构及内容:
•Student(学号,姓名,出生日期,性别,专业,定向否,入学总分)
•Course(课程号,课程名,学时,学分)
•Grade(学号,课程号,成绩,教师号)
•Teacher(教师号,姓名,职称,学院代码)
•College(学院代码,学院名称)。
数据库实验二

实验二数据定义一、实验目的1、掌握使用SQL语句创建和删除数据库;2、掌握使用SQL语句创建和删除数据表,创建各种完整性约束,修改表的结构;3、掌握索引的创建和删除方法。
二、实验过程(一)数据库的建立使用CREATE DA TABASE语句创建名为“gongcheng”的数据库。
create database gongcheng(二)数据表的操作1.建立数据表在创建的“gongcheng”数据库中使用SQL语句建立4个关系(可参考课本P74习题5),如下:供应商表S (Sno,Sname,Status,Ctiy)零件表P(Pno,Pname,Color,Weight)工程项目表J(Jno,Jname,City)供应情况表SPJ(Sno,Pno,Jno,QTY)要求:(1)创建每个关系的主键,有外键的创建外键。
(2)S表中的Sname属性列的取值唯一(3)P表中weight属性列的取值范围在1-50之间(4)J表中的Jname取值不能为空并且是唯一的(5)SPJ表中QTY属性列的数据类型必须为int建立供应商表Screate table S(Sno varchar(8)primary key,Sname varchar(20)unique,Status int,City varchar(20))建立零件表Pcreate table P(Pno varchar(8)primary key,Pname varchar(20),Color varchar(4),Weight int check(Weight>=1 and Weight<=50))建立工程项目表Jcreate table J(Jno varchar(8)primary key,Jname varchar(20)unique not null,City varchar(20))建立供应情况表SPJcreate table SPJ(Sno varchar(8),Pno varchar(8),Jno varchar(8),QTY int,primary key(Sno,Pno,Jno),foreign key(Sno)references S(Sno),foreign key(Pno)references P(Pno),foreign key(Jno)references J(Jno))2.修改表的结构用SQL语句完成以下操作:(1)给S表增加Sphone和Semail两个属性列,分别用来存放供应商的联系电话和电子信箱。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二SQL Server 2005 数据库的创建修改与管理
一、实验目的与要求
1.实验目的:
掌握使用SSMS创建、修改、删除、压缩数据库的方法。
2.实验要求:
了解SQL Server 2005 数据库的逻辑结构和物理结构及其结构特点,掌握使用SSMS创建、
修改、删除,压缩数据库的方法,明确能够创建数据库的用户必须是系统管理员,或是被授
权使用CREATE DA TABASE语句的用户,创建数据库必须要确定数据库名、所有者(即创建
数据库的用户)、数据库大小(最初的大小、最大的大小、是否允许增长的方式)和存储数据
的文件。
二、实验内容
1、创建数据库
用ssms:右击数据库/ 新建数据库或选定数据库→单击操作菜单→新建数据库
例:创建一个数据库uvw
命令方式创建:例:创建一个数据库aaa,其余默认,查看aaa信息
create database aaa
exec sp_helpdb aaa
使用create database语句创建:
create database 库名
on primary
( name=’数据库名’,filename=’数据库文件全称’,size=大小,maxsize=最大尺
寸,filegrowth=增长率)
log on
(name=日志名,filename=’日志文件全名称’, size=大小,maxsize=最大尺
寸,filegrowth=增长率)
例:创建一个名为dan的学生库,主数据库文件dan_data.mdf,初始大小4mb,事务日志文件
dan_log.ldf,初始容量为4mb,文件存于C盘根目录,分别用菜单与命令方式实现。
例:菜单方式创建(T-SQL语言选作):创建一个gz数据库,该数据库的主文件逻辑名称为gz_data,物理文件名为gz.mdf,初始大小为5mb,最大尺寸为3mb,增长速度为10%;数据库的日志文件逻辑名称为gz_log,物理文件名为gz.ldf,初始大小为3mb,最大尺寸为5mb,增长速度为2MB,文件存放在d:\。
2、修改数据库
例:将数据库dan的数据文件和日志文件分别扩展2个文件
例:修改数据文件dan_data1的空间大小为5mb
例:删除文件组中数据扩展文件dan_data2
3、显示数据库内容
例:显示建立的数据库dan信息:
显示数据库中的文件信息:
4、数据库改名
例:修改数据库rst名为abc
5、删除数据库
例:删除数据库abc。