数据库原理中SQL语句实验指导书及答案

合集下载

数据库原理实验讲义 与答案 SQL Server

数据库原理实验讲义 与答案 SQL Server

《数据库系统原理》实验报告SQL Server版实验一SQL练习1一、实验目的1.掌握基本表的定义;2.掌握插入数据、修改数据和删除数据语句的常用形式。

二、实验学时2学时三、实验内容1.利用Enterprise Manager,新建一个数据库,命名为zyxt,并有以下要求:⑴该数据库记录某采油厂对油/水井实施作业时所消耗的成本。

(作业:为保证油水井正常生产所实施的工程项目)⑵成本的消耗分为预算、结算、入账三个状态。

预算:采油队向管理部门提出作业申请,并经管理部门批准后,由管理部门负责录入。

结算:某次作业施工结束后,由管理部门与施工单位共同核算各种成本,由管理部门负责录入。

入账:结算后,财务部门将成本计入采油厂账目,由财务部门录入。

⑶预算状态时需要录入的数据:(★:字符型◆货币型▲日期型)★单据号:某一作业项目的编号★预算单位:指需要对油水井实施作业的采油队代码★井号:需要实施作业的油水井◆预算金额★预算人▲预算日期⑷结算状态时需要录入的数据:(★:字符型◆货币型▲日期型▼数值型)调出某条预算记录,录入以下数据:▲开工日期▲完工日期★施工单位★施工内容◆材料费(要求另外用表单独记录材料消耗的明细)(★单据号★物码▼消耗数量◆单价)◆人工费◆设备费◆其它费用◆结算金额(材料费+人工费+设备费+其它费用)★结算人▲结算日期⑸入账状态时需要录入的数据:(★:字符型◆货币型▲日期型)调出某条结算记录,录入以下数据:◆入账金额★入账人▲入账日期⑹为了避免出现数据的不一致和方便数据录入,要求定义以下基础表:(★:字符型)单位代码表:★单位代码★单位名称油水井表:★井号★井别:油井/水井★单位代码(表示某口井由哪个单位负责管理)施工单位表:★施工单位名称物码表:★物码★名称规格★计量单位2.根据以上要求,在Query Analyzer中用建表语句定义所需的数据表。

CREATE TABLE单位代码表(单位代码VARCHAR(20),单位名称VARCHAR(20));CREATE TABLE油水井表(井号VARCHAR(20),井别VARCHAR(20),单位代码VARCHAR(20),);CREATE TABLE施工单位表(施工单位名称VARCHAR(30));CREATE TABLE物码表(物码VARCHAR(20),名称规格VARCHAR(20),计量单位VARCHAR(20));CREATE TABLE材料费(单据号VARCHAR(20),物码VARCHAR(20),消耗数量SMALLINT,单价NUMERIC(10,2),);CREATE TABLE成本材料消耗表(单据号VARCHAR(20),预算单位VARCHAR(20),井号VARCHAR(20),预算金额NUMERIC(10,2),预算人VARCHAR(20),预算日期DATE,开工日期DATE,完工日期DATE,施工单位VARCHAR(20),施工内容VARCHAR(20),材料费NUMERIC(10,2),人工费NUMERIC(10,2),设备费NUMERIC(10,2),其它费用NUMERIC(10,2),结算金额NUMERIC(10,2),结算人VARCHAR(20),结算日期DATE,入账金额NUMERIC(10,2),入账人VARCHAR(20),入账日期DATE,);3.在Query Analyzer中用数据插入语句录入以下数据:单位代码表:1122 采油厂112201 采油一矿112202 采油二矿112201001 采油一矿一队112201002 采油一矿二队112201003 采油一矿三队112202001 采油二矿一队112202002 采油二矿二队INSERTINTO单位代码表(单位代码,单位名称)VALUES('1122','采油厂');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112201','采油一矿');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112202','采油二矿');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112201001','采油一矿一队');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112201002','采油一矿二队');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112201003','采油一矿三队');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112202001','采油二矿一队');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112202002','采油二矿二队');油水井表:(y001 油井112201001)(y002 油井112201001)(y003 油井112201002)(s001 水井112201002)(y004 油井112201003)(s002 水井112202001)(s003 水井112202001)(y005 油井112202002)INSERTINTO油水井表(井号,井别,单位代码)VALUES('y001','油井','112201001');INSERTINTO油水井表(井号,井别,单位代码)VALUES('y002','油井','112201001');INSERTINTO油水井表(井号,井别,单位代码)VALUES('y003','油井','112201002');INSERTINTO油水井表(井号,井别,单位代码)VALUES('s001','水井','112201002');INSERTINTO油水井表(井号,井别,单位代码)VALUES('y004','油井','112201003');INSERTINTO油水井表(井号,井别,单位代码)VALUES('s002','水井','112202001');INSERTINTO油水井表(井号,井别,单位代码)VALUES('s003','水井','112202001');INSERTINTO油水井表(井号,井别,单位代码)VALUES('y005','油井','112202002');施工单位表:作业公司作业一队作业公司作业二队作业公司作业三队INSERTINTO施工单位表(施工单位名称)VALUES('作业公司作业一队');INSERTINTO施工单位表(施工单位名称)VALUES('作业公司作业二队');INSERTINTO施工单位表(施工单位名称)VALUES('作业公司作业三队');物码表:(单价均为10)wm001 材料一吨wm002 材料二米wm003 材料三桶wm004 材料四袋INSERTINTO物码表(物码,名称规格,计量单位)VALUES('wm001','材料一','吨');INSERTINTO物码表(物码,名称规格,计量单位)VALUES('wm002','材料二','米');INSERTINTO物码表(物码,名称规格,计量单位)VALUES('wm003','材料三','桶');INSERTINTO物码表(物码,名称规格,计量单位)VALUES('wm004','材料四','袋');4.利用Query Analyzer录入以下数据:某作业项目编号zy2018001预算单位:112201001 井号:y001 预算金额:10000.00预算人:张三预算日期:2018-5-1 开工日期:2018-5-4完工日期:2018-5-25 施工单位:作业公司作业一队施工内容:堵漏材料费:7000.00(其中材料一:2000.00材料二:2000.00 材料三:2000.00 材料四:1000.00)人工费:2500.00 设备费:1000.00其它费用:1400.00结算金额:11900.00 结算人:李四结算日期:2018-5-26入账金额:11900.00 入账人:王五入账日期:2018-5-28INSERT INTO成本材料消耗表(单据号,预算单位,井号,预算金额,预算人,预算日期,开工日期,完工日期,施工单位,施工内容,材料费,人工费,设备费,其它费用,结算金额,结算人,结算日期,入账金额,入账人,入账日期)VALUES('zy2018001','112201001','y001',10000.00,'张三','2018-5-1','2018-5-4','2018-5-25','作业公司作业一队','堵漏',7000.00,2500.00,1000.00,1400.00,11900.00,'李四','2018-5-26',11900.00,'王五','2018-5-28');5.利用Enterprise Manager录入以下数据:⑴某作业项目编号zy2018002预算单位:112201002 井号:y003 预算金额:11000.00预算人:张三预算日期:2018-5-1 开工日期:2018-5-4完工日期:2018-5-23 施工单位:作业公司作业二队施工内容:检泵材料费:6000.00(其中材料一:2000.00材料二:2000.00 材料三:2000.00)人工费:1500.00 设备费:1000.00其它费用:2400.00结算金额:10900.00 结算人:李四结算日期:2018-5-26入账金额:10900.00 入账人:王五入账日期:2018-5-28⑵某作业项目编号zy2018003预算单位:112201002 井号:s001 预算金额:10500.00 预算人:张三预算日期:2018-5-1 开工日期:2018-5-6 完工日期:2018-5-23 施工单位:作业公司作业二队施工内容:调剖材料费:6500.00(其中材料一:2000.00 材料二:2000.00 材料三:2500.00)人工费:2000.00 设备费:500.00其它费用:1400.00 结算金额:10400.00 结算人:李四结算日期:2018-5-26 入账金额:10400.00 入账人:王五入账日期:2018-5-28 ⑶某作业项目编号zy2018004预算单位:112202001 井号:s002 预算金额:12000.00 预算人:张三预算日期:2018-5-1 开工日期:2018-5-4 完工日期:2018-5-24 施工单位:作业公司作业三队施工内容:解堵材料费:6000.00(其中材料一:2000.00 材料二:2000.00 材料四:2000.00)人工费:2000.00 设备费:1000.00其它费用:1600.00 结算金额:10600.00 结算人:李四结算日期:2018-5-26 入账金额:10600.00 入账人:赵六入账日期:2018-5-28 ⑷某作业项目编号zy2018005预算单位:112202002 井号:y005 预算金额:12000.00 预算人:张三预算日期:2018-5-1 开工日期:2018-5-4 完工日期:2018-5-28 施工单位:作业公司作业三队施工内容:防砂材料费:7000.00(其中材料一:2000.00材料二:2000.00 材料四:3000.00)人工费:1000.00 设备费:2000.00其它费用:1300.00结算金额:11300.00结算人:李四结算日期:2018-6-16.利用Query Analyzer完成以下操作:⑴将编号为zy2018005的项目的人工费和结算金额增加200元。

实验四 SQL语言-参考答案

实验四 SQL语言-参考答案

实验四SQL语言【实验目的】1.掌握SQL语言的使用方法2.利用SQL语句实现相关的操作3.能够独立写出一些较复杂的SQL语句【实验内容】1. 建立一个Student表,由Sno(学号)、Sname(姓名)、Ssex(性别)、Sage(年龄)、Sdept (所在系)五个属性组成。

其中学号不能为空,值是唯一的,并且姓名取值也唯一。

查询名为“创建Student”。

Create table student(sno char(6) not null unique,sname char(4) unique,ssex char(1),sage smallint,sdept char(20))2. 建立一个SC (学生选课)表,它由学号Sno、课程号Cno,修课成绩Grade组成,其中(Sno, Cno)为主码。

),查询名为“创建SC”。

Create table sc(sno char(6),cno char(3),grade single,primary key (sno,cno))3. 查询所有姓刘的学生的学号与姓名及其出生年份,查询名为“查找姓刘的学生”。

Selelct 学号,姓名,year(出生日期) as 出生年份from 学生表where 姓名like “刘*”4. 查询选修了计算机基础的所有学生的学号、姓名、成绩,查询结果按分数降序排列,查询名为“选修了计算机基础的学生”。

Select 学生表.学号,学生.姓名,选课成绩表.成绩from 学生表,课程表,选课成绩表where 学生表.学号=选课成绩表.学号and 课程表.课程编号=选课成绩表.课程编号and 课程表.课程名称=”计算机基础” order by 选课成绩表.成绩6. 查询所有年龄在20岁及20岁以下的学生姓名、年龄,查询名为“20岁及以下的学生”。

Select 姓名,年龄from 学生表where year(date())-year(出生日期)<=207. 查询考试成绩有不及格的学生的学号和姓名。

实验一 sql语言及相关操作及答案(1)

实验一   sql语言及相关操作及答案(1)

实验一SQL语言及相关操作一、实验目的本实验的目的是使学生掌握如何在SQL Server Management studio中进行查询分析以及对数据库中的表和数据进行操作,加深对SQL和SQL语言相关操作理解。

熟练掌握数据查询、表的更新等操作方法。

二、实验时数4学时三、实验内容:(1)利用SQL语句进行简单查询和连接查询操作。

1.列出所有course的课程号、课程名和学分。

2.查询所有蒙古族学生的学号、姓名和所在学院。

3.在score表中显示平均成绩都高于85分的学生学号、课程号和成绩。

4.查询选修课称号为001或005且平均成绩大于等于75分学生的学号、课程号和成绩。

5.查询信息管理学院1991年出生的所有男生的信息。

6.查询所有学生的年龄。

7.查询所有姓王或姓黄的学生的姓名、生日和所在班级名称。

8.查询先修课程为”数据结构”的所有课程。

9.查询信息管理学院非汉族同学的学号、姓名、性别及民族。

10.查找选修了“操作系统”的学生学号、成绩和姓名。

11.查找至少选修了一门其直接先修课编号为004的课程的学生学号和姓名。

12.查找至少选修了学号为0800001的学生所选课程的学生学号和姓名。

10413.查询出生日期在1991年以后的学生的学号、姓名、籍贯和年龄。

14.在student表中查询学生的学号、姓名和平均成绩,并按照平均成绩的降序排列。

15.查找了选修了以“C语言程序设计”为其直接先修课的课程的学生学号、课程号和成绩。

16.在score表中查询平均成绩大于80的学生的学号、课程号和成绩,并先按照课程号的升序、再按照成绩的降序排列。

17.查找信息管理学院学生选课情况,显示学生姓名、课程名和成绩。

18.统计student表中的男女学生的人数。

19.查询成绩最高分的学生的学号、课程号和相应成绩。

20.查询选课少于3门的学生的学号及其选课的门数。

(2) 利用SQL语句进行表的管理等操作。

1.给class表中的classname字段添加唯一约束。

sql实训答案

sql实训答案

sql实训答案【篇一:新sql——server实验练习答案】txt>答案上海师范大学计算机系目录第一部分企业管理器的使用 ....................................................................................................... .. 3试验一注册服务器 ............................................................................... 错误!未定义书签。

试验二创建数据库 ............................................................................... 错误!未定义书签。

试验三创建表 ....................................................................................... 错误!未定义书签。

实验四数据输入 ................................................................................... 错误!未定义书签。

实验五登录到数据库服务器 ............................................................... 错误!未定义书签。

第二部分 sql语言 ....................................................................................................... ................. 3 第二部分 sql语言 ....................................................................................................... .. (3)试验一数据库创建 ....................................................................................................... .......... 3 试验二创建表 ....................................................................................................... .................. 3 试验三创建数据完整性 ....................................................................................................... .. 5 试验四数据完整性试验 ....................................................................................................... .. 6 试验五索引 ....................................................................................................... .................... 10 试验六更新数据 ....................................................................................................... ............ 11 试验七 sql 查询语句 ....................................................................................................... .... 12 试验八视图 ....................................................................................................... .................... 15 试验九安全性控制实验 .......................................................................................................16 试验十存储过程 ....................................................................................................... ............ 17 试验十二触发器 ....................................................................................................... ............ 21 试验十二恢复技术 ....................................................................................................... ........ 25 试验十三事务 ....................................................................................................... ................ 26 试验十四锁 ....................................................................................................... .. (27)第一部分企业管理器的使用第二部分 sql语言试验一数据库创建目的:1掌握利用sql语言进行数据库的创建、维护。

数据库原理中SQL语句实验指导书及答案

数据库原理中SQL语句实验指导书及答案

实验四:管理SQL Server表数据一、实验目的熟悉数据表结构及使用特点;熟悉使用Management Stuio界面方式管理数据表数据;熟悉使用T-SQL语句管理数据表数据。

二、实验环境已安装SQL Server 2005 企业版的计算机(13台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求了解SQL Server数据表数据的管理方法;了解SQL Server数据类型;完成实验报告(部分题只需给出关键语句)。

五、实验内容及步骤以课本指定的数据库为例,并依据数据表的结构创建相对应的数据表(student、course、sc),请分别使用Management Stuio界面方式及T-SQL 语句实现进行以下操作:向各个数据表中插入如下记录:学生信息表(student)课程信息表(course)选课信息表(sc)insert into student.dbo.sc values('20051501','1',75)insert into student.dbo.course values('1','数据库','5',4)insert into student.dbo.student values('201015001','赵菁菁','女',23,'CS') 2.修改CS系姓名为“李勇”的学生姓名为“李咏”;update studentset Sname='李咏'where Sname='李勇'3.修改课程“数据处理”的学分为3学分;3.update courseset Ccredit=3where Cname ='数据处理'4.将选修课程“1”的同学成绩加5分;4.update scset Grade =Grade+5where Cno='1'5.将选修课程“大学英语”的同学成绩加5分;update scset Grade=Grade+5from course,scwhere o=o and ame='大学英语'6.将学号为“200515010”的学生信息重新设置为“王丹丹、女、20、MA”;update studentset Sname='王丹丹',Ssex='女',Sage=20,Sdept='MA'where Sno='200515010'7.修改借书证号为2005001的学生记录重新设置:名字为王婧婧、专业为信息管理、借书量增加5本;(因为无些相关的数据表帮无法实现)8.删除数据表student中无专业的学生记录;deletefrom studentwhere Sdept is null9.删除数据表student中计算机系年龄大于25的男同学的记录;deletefrom studentwhere Ssex='男' and Sage>25 and Sdept='CS'10.删除数据表course中学分低于1学分的课程信息;deletefrom coursewhere Ccredit<1实验五:数据库单表查询一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握查询条件表达式和使用方法;3.掌握GROUP BY 子句的作用和使用方法;4.掌握HAVING子句的作用和使用方法;5.掌握ORDER BY子句的作用和使用方法。

SQL数据库原理实验指导书及答案

SQL数据库原理实验指导书及答案

数据库原理SQLServer实验指导书数据库系统原理实验一、基本操作实验实验1:数据库的定义实验本实验的实验目的是要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL语句和进行结果分析。

本实验的内容包括:l)创建数据库和查看数据库属性。

2)创建表、确定表的主码和约束条件,为主码建索引。

3)查看和修改表结构。

4)熟悉SQL Server Enterpriser Manager和 Query Analyzer工具的使用方法具体实验任务如下。

1.基本提作实验1)使用Enterpriser Manager建立图书读者数据库2)在Enterpriser Manager中查看图书读者数据库的属性,并进行修改,使之符合要求。

3)通过Enterpriser Manager,在建好了图书借阅数据库中建立图书、读者和借阅3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价,版次);读者(编号,姓名,单位,性别,电话):借阅(书号,读者编号,借阅日期人)要求为属性选择合适的数据类型,定义每个表的主键,Allow Null(是否允许空值)和Default Value(缺省值)等列级数据约柬。

4)在Enterpriser Manager建立图书、读者和借阅3个表的表级约束:每个表的PrimaryKey (主键)约束;借阅表与图书表间、借阅表与读者表之间的FOREIGNKEY(外码)约柬,要求按语义先确定外码约束表达式,再通过操作予以实现;实现借阅表的书号和读者编号的UNIQUE(惟一性)约束;实现读者性别只能是“男”或“女”的check(检查)约束。

2.提高操作实验建立学生_课程库操作,在查询分析器中用SQL命令实现。

库中表结构为:Student(sno,sname,sage,ssex,sdept):course(cno,cname,cpno,ccredit);sc(sno,cno,grade)。

数据库SQL实验操作答案

数据库SQL实验操作答案

数据库SQL实验操作答案1、创立数据库:创立一个教学管理数据库,以自己的名字拼音首字母+下划线+SC作为库名〔如名字叫张三,那么:ZC_SC〕,〔1〕确定数据库名称;数据库用于学生管理,命名为如ZS_SC〔2〕确定数据库的位置;要求:数据文件和日志文件分别存储在E盘自己的目录下。

〔3〕确定数据库的大小;根据实际的数据量确定数据文件的初始大小为30MB,日志文件的初始大小为3MB。

〔4〕确定数据库的增长;根据实际情况,确定数据文件按20%增长,日志文件按1MB增长。

请利用查询分析器〔Query Analyzer〕,使用SQL语句指定参数创立数据库,给出实现代码和截图。

实现代码及截图样例: SQL语句: create database CYR_SC on primary ( name='CYR_SC_DATA', filename='E:\\CYR_SC_DATA.MDF', size=30MB, filegrowth=20% ) log on ( name='CYR_SC_LOG',filename='E:\\CYR_SC_LOG.LDF', size=3mb, filegrowth=1mb )……………查询分析器执行情况: SQL语句及执行结果截图显示 2、创立根本表:〔注意:请在表名前加上自己的姓名拼音的首字母,主键前加上自己的姓名拼音的首字母,例如张三为ZC_〕其描述的信息有:学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息。

创立:student表(学生信息表)、course表〔课程信息表)、teacher表〔教师信息表)、student _course表〔学生选课成绩表)、teacher_course表〔教师上课课表〕等。

请利用查询分析器,使用SQL语句将下面各表建立到教学管理数据库中。

写出SQL语句〔注意级联删除设置〕,查看各数据表之间的关系,画出实体关系图〔ER图〕。

SQL实验指导书(含部分答案)

SQL实验指导书(含部分答案)

实验三用T-SQL编辑修改数据库数据一、实验目的熟练掌握在查询分析器中执行INSERT,UPDATE,DELETE语句来实现数据的添加、修改、删除等操作。

二、操作示例1.使用INSERT语句向表中添加数据。

1)向mydatabase数据库的kcxxb表添加下列新记录(插入所有列):use mydatabasegoinsert kcxxb values (‘046110’,‘多媒体应用技术’,70,4)select * from kcxxb --显示结果2)向xsxxb表添加记录(插入部分列):use mydatabasegoinsert xsxxb (xh,xm,csrq,address)values('04651020','黄小烽','1983-7-6','40-203')select * from xsxxb --查询显示结果3)创建一个与xsxxb表结构一样的空表aa,并把xsxxb表中性别(xb)列为“女”的记录添加到aa表中。

并查看aa表中的信息。

use mydatabasegoselect * into aa from xsxxb where 1=2 --1=2是永远为假的条件。

insert aa select * from xsxxb where xb= '女'select * from aa --查询显示结果2.UPDATE语句修改数据1)将xscjb表中的成绩(grade)减少3分。

USE mydatabasegoUPDATE xscjb SET grade=grade-32)将kcxxb表中课程名(kcm)为“哲学”的课时(ks)改为54。

Use mydatabaseGoUpdate kcxxb set ks=72 where kcm= '哲学' 3.DELETE语句删除记录1)删除aa表中出生日期(csrq)在1985年以后的记录。

SQL实验的题目和答案全解

SQL实验的题目和答案全解

数据库实验总汇二、使用SQL Server 工具在管理数据库系统和运行SQL查询的两个主要工具是企业管理器和查询分析器三、实验目的1.熟悉数据库的交互式SQL工具。

2.熟悉通过SQL对数据库进行操作。

3.完成上机练习。

四、实验内容(打※为选做题)Part A1.使用CREATE语句创建数据库2. 使用CREATE语句创建基本表3.更改基本表的定义,增加列,修改列的数据类型。

4.创建表的索引,取消表的索引1、数据库的建立使用SQL 语句建立关系数据库schooldemo2、基本表的建立在数据库schooldemo下,使用SQL 语句建立关系数据库表:人员表PERSON(Pno,Pname, Page),房间表ROOM(Rno,Rname,Rarea),表PR(Pno,Rno,Date).其中,表PERSON :Pno(CHAR(8),主码,非空,唯一),Pname(CHAR(20),非空),Page(INT);表ROOM:Rno(CHAR(8),主码,非空,唯一),Rname(CHAR(20)),Rarea(FLOAT (10));表PR:Pno(CHAR(8),非空,唯一),Rno(CHAR(8),非空,唯一),Date (DATETIME);(三个表之间有联系)3、更改基本表的定义,增加列,删除列,修改列的数据类型。

更改表PERSON,增加属性Ptype(类型是CHAR ,长度为10),把表ROOM中的属性Rname的数据类型改为长度为40。

4、创建表的索引,取消表的索引为ROOM表创建按Rno降序排列的索引创建PERSON表按Pname升序排列的唯一性索引取消PERSON表Pname升序索引5、删除表ROOM实验过程(1.a)1、数据库的建立使用SQL 语句建立关系数据库schooldemocreate database schooldemoon(name=schooldemo,filename='e:\123\school_data.mdf',size=5mb,maxsize=15mb,filegrowth=10%)log on(name=schooldemo_log,filename='e:\123\schooldemo.ldf',size=5mb,maxsize=15mb,filegrowth=4mb)2、基本表的建立在数据库schooldemo下,使用SQL 语句建立关系数据库表:人员表PERSON(Pno,Pname, Page),房间表ROOM(Rno,Rname,Rarea), 表PR(Pno,Rno,Date).其中,表PERSON :Pno(CHAR(8),主码,非空,唯一),Pname(CHAR(20),非空),Page(INT);表ROOM:Rno(CHAR(8),主码,非空,唯一),Rname(CHAR(20)),Rarea(FLOAT(10));表PR:Pno(CHAR(8),非空,唯一),Rno(CHAR(8),非空,唯一),Date(DATETIME);(三个表之间有联系)create table person(pno char (8)primary key,pname char (20),page int);create table room(rno char (8) primary key,rname char(20),rarea float(10));create table pr(pno char (8),rno char (8),date datetime,primary key(pno,rno),foreign key(pno) references person(pno),foreign key(rno) references room(rno));3、更改基本表的定义,增加列,删除列,修改列的数据类型。

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书 - 答案实验一:数据库管理系统的安装与配置问题一数据库管理系统(DBMS)是一种软件,用于管理和组织数据库。

它允许用户创建,读取,更新和删除数据库中的数据。

常见的数据库管理系统有MySQL,Oracle,SQL Server等。

问题二在实验室环境中,我们将使用MySQL作为我们的数据库管理系统。

以下是MySQL的一些常见特点: - 开源免费 - 跨平台支持 - 可扩展性强 - 有大型的用户社区和丰富的资源支持问题三MySQL的安装步骤如下: 1. 下载MySQL安装文件,可以从MySQL官方网站或者其他可信的下载源获取。

2. 运行安装程序,按照向导的指示进行安装。

3. 选择是否要安装MySQL 服务器和MySQL工具。

4. 设置密码以保护数据库的安全。

5. 完成安装程序并启动MySQL服务。

数据库是一个组织和存储数据的容器。

在关系型数据库中,数据以表的形式存储,每个表包含多个行和列。

每行代表一个记录,每列代表一个字段。

问题五关系型数据库管理系统(RDBMS)是一种DBMS,它使用结构化查询语言(SQL)来操作和处理数据。

常见的关系型数据库管理系统有MySQL,Oracle,SQL Server等。

问题六开放数据库连接(ODBC)是一种标准的数据库访问方法,它允许不同的应用程序通过统一的接口访问不同的数据库管理系统。

ODBC驱动程序充当应用程序和数据库之间的翻译器。

问题七在Windows系统中,ODBC数据源可以通过控制面板的“管理工具”来配置。

在数据源配置对话框中,可以添加,编辑和删除ODBC数据源。

在Windows系统中,可以使用ODBC接口库和ODBC驱动程序来连接和操作数据库。

具体步骤如下: 1. 加载ODBC接口库。

2. 初始化ODBC环境。

3. 建立数据库连接。

4. 执行SQL语句。

5. 关闭数据库连接。

6. 释放ODBC环境。

问题九ODBC接口库是一组API函数,用于连接和操作数据库。

数据库原理实验答案

数据库原理实验答案
Values(7,'PASCAL语言',6,4);
3)向SC表中插入数据
Insert Into SC(Sno,Cno, Grade) Values(200215121,1,92);
Insert Into SC(Sno,Cno, Grade) Values(200215121,2,85);
Insert Into SC(Sno,Cno, Grade) Values(200215121,3,88);
Insert Into SC(Sno,Cno, Grade) Values(200215122,2,90);
Insert Into SC(Sno,Cno, Grade) Values(200215122,3,80);
Insert Into SC(Sno,Cno, Grade) Values(200215121,4,92);
Insert Into SC(Sno,Cno, Grade) Values(200215121,5,85);
Insert Into SC(Sno,Cno, Grade) Values(200215121,6,88);
Insert Into SC(Sno,Cno, Grade) Values(200215123,2,90);
select sno,grade from sc where cno='3' order by grade desc;
8)查询各个课程号与相应的选课人数。
select cno, count(sno) from sc group by cno;
2. 连接查询操作。该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。

数据库原理中SQL语句实验指导书及答案

数据库原理中SQL语句实验指导书及答案

实验四:管理SQL Server表数据一、实验目的熟悉数据表结构及使用特点;熟悉使用Management Stuio界面方式管理数据表数据;熟悉使用T-SQL语句管理数据表数据。

二、实验环境已安装SQL Server 2005 企业版的计算机(13台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求了解SQL Server数据表数据的管理方法;了解SQL Server数据类型;完成实验报告(部分题只需给出关键语句)。

五、实验内容及步骤以课本指定的数据库为例,并依据数据表的结构创建相对应的数据表(student、course、sc),请分别使用Management Stuio界面方式及T-SQL 语句实现进行以下操作:向各个数据表中插入如下记录:学生信息表(student)课程信息表(course)选课信息表(sc)insert into student.dbo.sc values('20051501','1',75)insert into student.dbo.course values('1','数据库','5',4)insert into student.dbo.student values('201015001','赵菁菁','女',23,'CS') 2.修改CS系姓名为“李勇”的学生姓名为“李咏”;update studentset Sname='李咏'where Sname='李勇'3.修改课程“数据处理”的学分为3学分;3.update courseset Ccredit=3where Cname ='数据处理'4.将选修课程“1”的同学成绩加5分;4.update scset Grade =Grade+5where Cno='1'5.将选修课程“大学英语”的同学成绩加5分;update scset Grade=Grade+5from course,scwhere o=o and ame='大学英语'6.将学号为“200515010”的学生信息重新设置为“王丹丹、女、20、MA”;update studentset Sname='王丹丹',Ssex='女',Sage=20,Sdept='MA'where Sno='200515010'7.修改借书证号为2005001的学生记录重新设置:名字为王婧婧、专业为信息管理、借书量增加5本;(因为无些相关的数据表帮无法实现)8.删除数据表student中无专业的学生记录;deletefrom studentwhere Sdept is null9.删除数据表student中计算机系年龄大于25的男同学的记录;deletefrom studentwhere Ssex='男' and Sage>25 and Sdept='CS'10.删除数据表course中学分低于1学分的课程信息;deletefrom coursewhere Ccredit<1实验五:数据库单表查询一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握查询条件表达式和使用方法;3.掌握GROUP BY 子句的作用和使用方法;4.掌握HAVING子句的作用和使用方法;5.掌握ORDER BY子句的作用和使用方法。

SQL数据库实验和参考答案

SQL数据库实验和参考答案

SQL数据库实验和参考答案数据库实验和参考答案上机实验七1.声明⼀个字符串型的局部变量,并对其赋值:‘我的变量’,然后显⽰出此值。

declare @a char(10)set @a='我的变量'--select @a as 变量的值print @a2.编程实现如下功能:1)声明两个整形的局部变量:@i1和@i2,对@i1赋初值:10,@i2的值为:@i1乘以5,再显⽰@i2的结果值。

declare @i1 int,@i2 intset @i1=10set @i2=@i1*5print @i22)⽤While语句实现5000减1,减2,……⼀直减到50的计算,并显⽰最终的结果。

declare @sum int,@i intset @sum=5000set @i=1while(@i<=50)beginset @i=@i+1endprint @sum3)输出100以内的素数。

declare @i smallint,@jsmallint,@k smallintset @i=2while(@i<=100)beginset @k=0set @j=2while(@j<@i)beginif(@i%@j=0)beginset @j=@Iendset @j=@j+1endif @k=0print @Iset @i=@i+1end4)将字符数在20以内的字符串变量C的值逆序输出。

要求输出界⾯为:declare @i varchar(20),@j int,@k varchar(20)set @j=1set @k=''while @j<=len(@i)beginset @k=substring(@i,@j,1) set @j=@j+1endprint '字符串C的值:'+@iprint 'C的逆序字符串:'+@k5)从SC表中查询所有学⽣的选课成绩情况,分别统计各分数段⼈数,并输出统计结果。

数据库原理实验指导书

数据库原理实验指导书

数据库原理实验指导书实验名称:试验一:SQL语言嵌套查询和数据更新操作所属课程:数据库原理实验类型:设计型实验实验类别:基础□专业基础√专业□实验学时:4学时一、实验目的1.熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL 语句的各种形式;2.加深理解关系运算的各种操作(尤其的关系的选择,投影,连接和除运算);3.熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用;4.加深理解表的定义对数据更新的作用二、预习与参考1.熟悉SQL SERVER 工作环境;2.连接到学生-课程数据库3.复习对表中数据查询的SQL语言命令;4.复习对表中数据的插入、修改和删除的SQL语言命令。

三、实验要求(设计要求)针对教材例子,通过SQL SERVER企业管理器和查询分析器两种模式,熟悉数据嵌套查询、更新操作。

四、实验方法及步骤1.在表S、C、SC上进行简单查询;2.在表S、C、SC上进行连接查询;3.在表S、C、SC上进行嵌套查询;4.使用聚合函数的查询;5.对数据的分组查询;6.对数据的排序查询。

7.将数据插入当前数据库的表S、C、SC中;A:用SQL命令形式B:用SQL SERVER提供的企业管理器以交互方式进行8.将以上插入的数据分别以.SQL文件和.txt文件的形式保存在磁盘上;9.修改表S、C、SC中的数据;A:用SQL命令形式B:用SQL SERVER提供的企业管理器以交互方式进行10.删除表S、C、SC中的数据。

A:用SQL命令形式B:用SQL SERVER提供的企业管理器以交互方式进行五、实验内容在表S,C,SC上完成以下操作:1.查询学生的基本信息;2.查询“CS”系学生的基本信息;3.查询“CS”系学生年龄不在19到21之间的学生的学号、姓名;4.找出最大年龄;5.找出“CS”系年龄最大的学生,显示其学号、姓名;6.找出各系年龄最大的学生,显示其学号、姓名;7.统计“CS”系学生的人数;8.统计各系学生的人数,结果按升序排列;9.按系统计各系学生的平均年龄,结果按降序排列;10.查询每门课程的课程名;11.查询无先修课的课程的课程名和学时数;12.统计无先修课的课程的学时总数;13.统计每位学生选修课程的门数、学分及其平均成绩;14.统计选修每门课程的学生人数及各门课程的平均成绩;15.找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列;16.查询选修了“1”或“2”号课程的学生学号和姓名;17.查询选修了“1”和“2”号课程的学生学号和姓名;18.查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩;19.查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩);20.查询没有选修课程的学生的基本信息;21.查询选修了3门以上课程的学生学号;22.查询选修课程成绩至少有一门在80分以上的学生学号;23.查询选修课程成绩均在80分以上的学生学号;24.查询选修课程平均成绩在80分以上的学生学号;25.选做:针对SPJ数据库中的四个表S,P,J,SPJ,完成教材P74-75--习题5中的查询及教材P127--习题5中的查询。

《数据库原理》实验指导书--最新版

《数据库原理》实验指导书--最新版

实验一实验环境熟悉与数据库(表)的建立实验目的熟悉实验的环境,掌握数据库、数据表的建立方法。

实验内容1、熟悉SQL的使用环境进入SQL环境(企业管理管理器、查询分析器)。

2、建立学生管理系统所需的数据库、数据表一个数据库,三张数据表。

实验环境1、硬件PC机,具有网络功能。

2、软件OS:windows 2000 professional;DBMS: SQL Server 2000.实验过程一、SQL server 2000环境1、系统的安装系统的安装过程比较简单,给学生演示一下。

2、进入查询分析器开始→程序→Microsoft SQL Server→查询分析器, 如下图所示:图1-1查询分析器的界面如图1-2所示:图1-2在文本框输入命令即可。

举例:计算圆面积的SQL程序的输入与运行结果界面(图1-3)。

图1-33、企业管理器的进入开始→程序→Microsoft SQL Server→企业管理器, 如下图所示:图1-4企业管理器的界面如图1-5:图1-5二、建立数据库与数据表1、建立学生管理数据库用SQL语句(生成的主文件名为: XSGL.MDF)语句为:CREATE DATABASE XSGL2、建立学生管理系统的数据表(共3个)使用SQL语句建立如下三个数据表(表结构见课本P92):学生表: Student.DBF(选本班10个同学作为10条记录)CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20)UNIQUE, Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));INSERT INTO Student ( Sno, Sname, Ssex, Sdept, Sage) V ALUES ('200215128','陈东','男','IS',18);建立表结构的语句见课本p85(P88—P89),记录的输入用插入命令INSERT, 详见课本P115。

SQL实验及部分答案

SQL实验及部分答案

SQL实验及部分答案实验⼀使⽤SQL语句创建和删除数据库⼀. 实验⽬的:1、了解SQL Server 2005数据库的逻辑结构和物理结构。

2、掌握使⽤SQL 语句创建和删除数据库。

⼆. 实验准备1.明确能够创建数据库的⽤户必须是系统管理员,或是被授权使⽤CREATE DATABASE语句的⽤户。

2.了解⽤SQL语句创建和删除数据库的基本语法。

三. 实验要求3、熟练使⽤查询分析器进⾏数据库的创建和删除操作4、完成⽤sql语句建⽴和删除数据库的实验报告四. 实验内容1.以下是创建数据库userdb1的SQL语句,以下是创建数据库userdb1的SQL语句,CREATE DATABASE userdb1 --创建名为userdb1的数据库on( NAME='userdb2',--数据⽂件的逻辑名称为userdb2FILENAME= 'd:\test\userdb1.mdf', ----物理路径为d:\testSIZE=5mb,----数据初始长度为5MMAXSIZE=10mb, --最⼤长度为10MFILEGROWTH=1mb --数据⽂件每次增长1M)运⾏上诉语句建⽴数据库userdb1.2.⽤SQL语句删除步骤⼀建⽴的数据库userdb1。

drop database userdb1 --删除数据库userdb1实验⼆分别⽤向导和SQL语句创建和删除表⼀.⽤SQL语句创建表在SQL Server 2005 的查询分析器中,⽤sql语句创建student表。

表2.1 student表(学⽣信息表)CREATE TABLE student(sno char(8)not null primary key,--学号(主键)sname char(8)not null,--姓名sex char(2)null,--性别native char(20)null,--籍贯birthday datetime null,--出⽣⽇期dno char(6)null,--所在院系spno char(8)null,--专业代码classno char(4)null,--班级号entime datetime null,--⼊校时间home varchar(40)null,--家庭住址tel varchar(40)null,--联系电话)表2.2 course表(课程信息表)CREATE TABLE course(cno char(10)not null primary key, spno char(8)null,cname char(20)not null,ctno tinyint null,experiment tinyint null,lecture tinyint null,semester tinyint null,credit tinyint null)实验三修改数据库基本表的定义⼀.实验⽬的1.了解表的结构特点。

sql实验习题答案

sql实验习题答案

sql实验习题答案SQL实验习题答案在学习SQL(Structured Query Language)时,习题是一种非常有效的学习方式。

通过实践操作,我们可以更好地理解SQL语言的各种概念和用法。

下面是一些常见的SQL实验习题及其答案,希望对大家的学习有所帮助。

1. 查询某个表的所有数据答案:SELECT * FROM 表名;2. 查询某个表的前n行数据答案:SELECT * FROM 表名 LIMIT n;3. 查询某个表中满足某个条件的数据答案:SELECT * FROM 表名 WHERE 条件;4. 查询某个表中某个字段的最大值答案:SELECT MAX(字段名) FROM 表名;5. 查询某个表中某个字段的最小值答案:SELECT MIN(字段名) FROM 表名;6. 查询某个表中某个字段的总和答案:SELECT SUM(字段名) FROM 表名;7. 查询某个表中某个字段的平均值答案:SELECT AVG(字段名) FROM 表名;8. 查询某个表中某个字段的记录数答案:SELECT COUNT(字段名) FROM 表名;9. 查询某个表中某个字段的记录数,并按照字段值进行分组答案:SELECT 字段名, COUNT(字段名) FROM 表名 GROUP BY 字段名;10. 查询某个表中满足多个条件的数据答案:SELECT * FROM 表名 WHERE 条件1 AND 条件2;11. 查询某个表中满足多个条件中的任意一个条件的数据答案:SELECT * FROM 表名 WHERE 条件1 OR 条件2;12. 查询某个表中满足某个条件,并按照某个字段进行排序的数据答案:SELECT * FROM 表名 WHERE 条件 ORDER BY 字段名;13. 查询某个表中满足某个条件,并限制结果的行数答案:SELECT * FROM 表名 WHERE 条件 LIMIT n;14. 查询某个表中满足某个条件,并跳过前n行的数据答案:SELECT * FROM 表名 WHERE 条件 OFFSET n;15. 查询某个表中满足某个条件,并按照某个字段进行分页显示答案:SELECT * FROM 表名 WHERE 条件 ORDER BY 字段名 LIMIT n OFFSET m;这些习题涵盖了SQL语言的基本操作和常用函数。

数据库原理实验指导书(带SQL语句)

数据库原理实验指导书(带SQL语句)

数据库原理—数据库原理与应用实验指导书目录实验一 SQLSERVER 2000的安装 (3)实验二数据库及表的定义 (16)实验三数据插入、删除、与更新 (19)实验四数据查询 (22)实验五视图的定义和使用 (24)实验六数据完整性 (25)实验七存储过程的使用 (26)实验八事务的使用 (27)实验九安全性管理 (29)实验十数据库设计 (31)实验一 SQLSERVER 2000的安装仅连接Microsoft Windows NT 4.0、Windows 2000(所有版本)、Windows Me、Windows 98 和 Windows 95。

2.SQL SERVER 2000的安装(1)将企业版安装光盘插入光驱后,出现以下提示框。

注意:如果您的计算机的操作系统是windows 95以上,则选择“安装SQL Server 2000 组件”,如果操作系统是windows 95,则需要选择“安装SQL Server 2000的先决条件”。

由于SQL Server 2000 的某些功能要求在Microsoft Windows 2000 Server以上的版本才能运行。

因此安装Windows Server 2000(建议为Advanced版本),可以学习和使用到SQL Server 2000的更多功能,以及享受更好的性能。

本安装将在Windows 2000 Advanced Server操作系统作为示例,详细介绍安装SQL Server 2000企业版的过程。

大家清首先安装Windows 2000 Advanced Server。

(2)选择 "安装 SQL Server 2000 组件",出现下一个页面。

(3)选择 "安装数据库服务器",出现如下界面:(4)选择"下一步",出现如下界面:(5)选择’本地计算机’(默认)选项,选择"下一步",出现如下界面:在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。

sql数据库系统原理上机实验(综合版)

sql数据库系统原理上机实验(综合版)

《数据库原理》实验指导书《数据库原理》上机实验上机学时:8学时一、上机性质、目的及任务:通过上机实践,配合课堂教学内容加深对数据库的基本概念和基本技术的理解,掌握数据库系统设计的基本思想和基本步骤,熟悉关系数据库的标准语言SQL,并对典型的关系数据库管理系统有较深入的了解,使学生的动手能力有较大的提高。

二、面向专业:计算机类各专业三、实验指导书:见下页四、实验内容:实验一SQL数据定义 (3)实验二SQL简单查询 (6)实验三SQL 复杂查询 (7)实验四SQL 数据更新 (8)实验一SQL数据定义一、实验目的(1)认识几种常见的数据库管理系统,熟悉它们的使用界面;(2)熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。

(3)熟悉SQL数据定义语言(DDL)二、实验内容(1)分别在Access 和SQL SERVER2005 中建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。

(2)用SQL语言进行基本表结构的定义、修改、删除,索引的建立和删除三、实验步骤:分别在ACCESS数据库管理系统和SQL SERVR 2005环境下利用图形操作界面(非SQL语句)实现以下操作:1、创建用于学生管理的数据库,数据库名为XSGL,包含学生信息,课程信息和选课信息。

数据库XSGL包含下列3 个表:(l)student:学生基本信息。

(2)course:课程信息表。

(3)sc:学生选课表。

各表的结构分别如表1、表2和表3 所示。

表1 学生信息表:student列名数据类型长度完整性约束sno 字符(文本)型8 主键sname 字符(文本)型 4 不为空ssex 字符(文本)型 1sage 整数(数值)型sdept 字符型10表2 课程信息表:course列名数据类型长度完整性约束cno 字符(文本)型 2 主键cname 字符(文本)型30credit 整数(数值)型cpno 字符(文本)型 3表3 学生选课表:sc列名数据类型长度完整性约束sno 字符(文本)型8 主属性,外键cno 字符(文本)型 2 主属性,外键grade 整数(数值)型是提示:在不使用SQL语句创建表的情况下,可通过ACCESS中的关系(菜单—工具—关系)和SQL SERVER 2005中的数据库关系图(数据库节点展开—数据库关系图)实现外键的创建。

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

实验四:管理SQL Server表数据一、实验目的熟悉数据表结构及使用特点;熟悉使用Management Stuio界面方式管理数据表数据;熟悉使用T-SQL语句管理数据表数据。

二、实验环境已安装SQL Server 2005 企业版的计算机(13台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求了解SQL Server数据表数据的管理方法;了解SQL Server数据类型;完成实验报告(部分题只需给出关键语句)。

五、实验内容及步骤以课本指定的数据库为例,并依据数据表的结构创建相对应的数据表(student、course、sc),请分别使用Management Stuio界面方式及T-SQL 语句实现进行以下操作:向各个数据表中插入如下记录:学生信息表(student)Sno Sname Ssex Sage Sdept200515001 赵菁菁女23 CS200515002 李勇男20 CS200515003 张力男19 CS200515004 张衡男18 IS200515005 张向东男20 IS200515006 张向丽女20 IS200515007 王芳女20 CS200515008 王民生男25 MA200515009 王小民女18 MA200515010 李晨女22 MA200515011 张毅男20 WM200515012 杨磊女20 EN200515013 李晨女19 MA200515014 张丰毅男22 CS200515015 李蕾女21 EN200515016 刘社男21 CM200515017 刘星耀男18 CM200515018 李贵男19 EN200515019 林自许男20 WM200515020 马翔男21200515021 刘峰男25 CS200515022 牛站强男22200515023 李婷婷女18200515024 严丽女20200515025 朱小鸥女30 WM课程信息表(course)Cno Cname Cpno Ccredit1 数据库 5 42 数学 23 信息系统 1 44 操作系统 6 35 数据结构7 46 数据处理 27 PASCAL语言 6 48 大学英语 49 计算机网络 410 人工智能 2 选课信息表(sc)Sno Cno Grade200515001 1 75200515002 1 85200515002 3 53200515003 1 86200515004 1 74200515005 1 58200515006 1 84200515004 2 46200515005 2 89200515006 2 65200515008 2 72200515009 2 76200515010 2 96200515010 8 86200515011 8 62200515015 8 0200515018 8 58200515001 4 62200515002 4 85200515021 9 54200515001 5 58200515021 6 58200515001 7 70200515005 10 65200515016 8 Null200515017 8 Nullinsert into student.dbo.sc values('20051501','1',75)insert into student.dbo.course values('1','数据库','5',4)insert into student.dbo.student values('201015001','赵菁菁','女',23,'CS') 2.修改CS系姓名为‚李勇‛的学生姓名为‚李咏‛;update studentset Sname='李咏'where Sname='李勇'3.修改课程‚数据处理‛的学分为3学分;3.update courseset Ccredit=3where Cname ='数据处理'4.将选修课程‚1‛的同学成绩加5分;4.update scset Grade =Grade+5where Cno='1'5.将选修课程‚大学英语‛的同学成绩加5分;update scset Grade=Grade+5from course,scwhere o=o and ame='大学英语'6.将学号为‚200515010‛的学生信息重新设置为‚王丹丹、女、20、MA‛;update studentset Sname='王丹丹',Ssex='女',Sage=20,Sdept='MA'where Sno='200515010'7.修改借书证号为2005001的学生记录重新设置:名字为王婧婧、专业为信息管理、借书量增加5本;(因为无些相关的数据表帮无法实现)8.删除数据表student中无专业的学生记录;deletefrom studentwhere Sdept is null9.删除数据表student中计算机系年龄大于25的男同学的记录;deletefrom studentwhere Ssex='男' and Sage>25 and Sdept='CS'10.删除数据表course中学分低于1学分的课程信息;deletefrom coursewhere Ccredit<1实验五:数据库单表查询一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握查询条件表达式和使用方法;3.掌握GROUP BY 子句的作用和使用方法;4.掌握HAVING子句的作用和使用方法;5.掌握ORDER BY子句的作用和使用方法。

二、实验环境已安装SQL Server 2005 企业版的计算机(13台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1.了解数据库查询;2.了解数据库查询的实现方式;3.完成实验报告;五、实验内容及步骤以数据库原理实验4数据库中数据为基础,请使用T-SQL 语句实现以下操作:1.列出所有不姓刘的所有学生;1.select *from studentwhere Sname not like '刘%'2.列出姓‚沈‛且全名为3个汉字的学生;select *from student1where Sname like'沈__'3.显示在1985年以后出生的学生的基本信息;select *from studentwhere YEAR(GETDATE())-Sage>19854.按照‚性别、学号、姓名、年龄、院系‛的顺序列出学生信息,其中性别按以下规定显示:性别为男显示为男生,性别为女显示为女生,其他显示为‚条件不明‛;select 性别=casewhen Ssex='男' then'男生'when Ssex='女' then'女生'else '条件不明'end,Sno 学号,Sname 码,Sage 年龄,Sdept 院系from student5.查询出课程名含有‚数据‛字串的所有课程基本信息;select *from coursewhere Cname like '%数据%'7.显示学号第八位或者第九位是1、2、3、4或者9的学生的学号、姓名、性别、年龄及院系;6.select Sno,Sname,Ssex,Sage,Sdeptfrom studentwhere Sno like '_______[1,2,3,4,9][1,2,3,4,9]%'8.列出选修了‘1’课程的学生,按成绩的降序排列;select student.*,sc.*from student,scwhere student.Sno =sc.Sno and o='1'order by Grade DESC9.列出同时选修‚1‛号课程和‚2‛号课程的所有学生的学号;select Snofrom scwhere Cno='1' and Sno in(select Snofrom scwhere Cno='2'10.列出课程表中全部信息,按先修课的升序排列;select *from courseorder by Cpno Asc11.列出年龄超过平均值的所有学生名单,按年龄的降序显示;select *from studentwhere Sage>(select AVG(Sage)from student)order by Sage DESC12.按照出生年份升序显示所有学生的学号、姓名、性别、出生年份及院系,在结果集中列标题分别指定为‚学号,姓名,性别,出生年份,院系‛;select Sno 学号,Sname 姓名,Ssex 性别,YEAR(GETDATE ())-Sage 出生年份,Sdept 所在院系from studentorder by YEAR(GETDATE ())-Sage13.按照院系降序显示所有学生的‚院系,学号、姓名、性别、年龄‛等信息,其中院系按照以下规定显示:院系为CS显示为计算机系,院系为IS显示为信息系,院系为MA显示为数学系,院系为EN显示为外语系,院系为CM显示为中医系,院系为WM显示为西医系,其他显示为院系不明;select Sdept=casewhen Sdept='CS' then '计算机系'when Sdept='IS' then '信息系'when Sdept='MA' then '数学系'when Sdept='EN' then '外语系'when Sdept='CM' then '中医系'when Sdept='WM' then '西医系'else '条件不明'end ,Sno,Sname,Ssex,Sagefrom studentorder by Sdept DESC14.显示所有院系(要求不能重复,不包括空值),并在结果集中增加一列字段‚院系规模‛,其中若该院系人数>=5则该字段值为‚规模很大‛,若该院系人数大于等于4小于5则该字段值为‚规模一般‛,若该院系人数大于等于2小于4则该字段值为‚规模稍小‛,否则显示‚规模很小‛;select Sdept ,院系规模=casewhen COUNT(Sno)>=5 then'规模很大'when COUNT(Sno)>=4then'规模一般'when COUNT(Sno)>=2then'规模稍小'else '规模很小'endfrom studentwhere Sdept is not Nullgroup by Sdept15.按照课程号、成绩降序显示课程成绩在70-80之间的学生的学号、课程号及成绩;select Sno,Cno,Gradefrom scwhere Grade between 70 and 80order by Cno,Grade DESC16.显示学生信息表中的学生总人数及平均年龄,在结果集中列标题分别指定为‚学生总人数,平均年龄‛;select count(*)学生总人数,AVG(Sage) 平均年龄from student17.显示选修的课程数大于3的各个学生的选修课程数;select Sno 学号,COUNT(Sno)选修课程数from scgroup by Snohaving COUNT(*)>=318.按课程号降序显示选修各个课程的总人数、最高成绩、最低成绩及平均成绩;use studentselect Cno '课程号',COUNT(*)'总人数',MAX(Grade)'最高分',MIN(Grade)'最低分',AVG(Grade)'平均分'from scgroup by Cnoorder by Cno desc19.显示平均成绩大于‚200515001‛学生平均成绩的各个学生的学号、平均成绩;use studentselect Sno '学号',AVG(Grade)'平均成绩'from scgroup by Snohaving AVG(Grade)>(select AVG(Grade)from scwhere Sno='200515001')20.显示选修各个课程的及格的人数、及格比率;use studentselect Cno'课程号' ,COUNT(*)'及格人数',cast(cast(COUNT(case when Grade>=60 then 1 end)as float)/COUNT(*)AS float(1))'及格率'from scgroup by Cno21.显示选修课程数最多的学号及选修课程数最少的学号;use studentselect Sno '学号',COUNT(*)'选修课程数'from scgroup by Snohaving COUNT(Cno)>=all( select COUNT(*)from scgroup by Sno)unionselect Sno '学号',COUNT(*)'选修课程数'from scgroup by Snohaving COUNT(Cno)<=all( select COUNT(*)from scgroup by Sno)22.显示各个院系男女生人数,其中在结果集中列标题分别指定为‚院系名称、男生人数、女生人数‛;select Sdept ,COUNT(case when Ssex='女'then 1 end)'女生人数',COUNT(case when Ssex='男'then 1 end)'男生人数'from studentgroup by Sdept,Ssex23.列出有二门以上课程(含两门)不及格的学生的学号及该学生的平均成绩;select Sno学号,A VG(Grade)平均成绩from scgroup by Snohaving COUNT(case when Grade<60 then 1 end)>=2实验六:数据库综合查询一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握查询条件种类和表示方法;3.掌握连接查询的表示及使用;4.掌握嵌套查询的表示及使用;5.了解集合查询的表示及使用。

相关文档
最新文档