文档库 最新最全的文档下载
当前位置:文档库 › 实验四SQL及参考答案

实验四SQL及参考答案

实验四SQL及参考答案
实验四SQL及参考答案

实验四创建SQL查询

注:以下实验内容可使用提供的“学生情况”数据库。

1、查询选修了课程号为01和06课程的学生学号。

2、从“学生表”中列出北京市男生的“学号”、“姓名”、“性别”、“出生日期”、“入学成绩”、“入学省市”字段,并按入学成绩从高到低进行排序。

3、从“学生表”、“课程表”和“成绩表”中,查询所有成绩在85~100之间学生的“学号”、“姓名”、“课程号”、“课程名称”及“成绩”。

4、使用SQL语句在“学生情况”数据库中建立一个“本月订单”表,它由“订单”(长度为5的字符串)、“产品”(长度为10的字符串)、“数量”(数字整型)、和“客户”(长度为8的字符串)四个字段构成,其中“订单”不能为空且值唯一,并将“订单”字段设置为主键。

5、向“本月订单”表中增加一个名为“客户姓名”(长度为6的字符串)的字段。

6、向“成绩表”中插入一条新记录,该记录包括“学号”、“课程号”、“成绩”三个字段的值("990102", "06", 88)。

7、将“学生表”中学号为“990302”的学生的“奖学金”字段更新为850元。

8、删除“成绩表”中学号为“990102”的学生记录。

9、子查询:

(1)查询“学生表”中入学成绩低于平均分的学生的“学号”、“姓名”、“性别”和“入学成绩”。

(2)从“学生表”和“成绩表”中,查询课程号为“01”且成绩大于75的学生的“学号”、“姓名”、“入学省市”字段信息。

(3)从“学生表”和“成绩表”中,查询选修了课程号为“01”的课程的学生

的“学号”、“姓名”、“入学成绩”字段信息。

参考SQL语句:

1.Select 学号From 成绩表Where 课程号="01" or 课程号="06";

2.SELECT 学号, 姓名, 性别, 出生日期, 入学成绩, 入学省市FROM 学生表

WHERE 入学省市="北京" and 性别="男" ORDER BY 入学成绩DESC;

3.SELECT 学生表.学号, 学生表.姓名, 成绩表.课程号, 课程表.课程名称, 成

绩表.成绩FROM 学生表, 成绩表, 课程表WHERE (((学生表.学号)=成绩表.

学号) And ((成绩表.课程号)=课程表.课程号) And ((成绩表.成绩) Between 85 And 100));

4.Create Table 本月订单([订单] Text(5) Not Null Unique,[产品] Text(10),[数量]

Integer,[客户] Text(8),Primary Key(订单));

5.Alter table 本月订单add 客户姓名char(6) ;

6.Insert Into 成绩表(学号,课程号,成绩) V alues("990102", "06", 88);

7.Update 学生表SET 奖学金= 850 WHERE 学号="990302";

8.Delete from 成绩表where 学号="990102";

9.(1)SELECT 学号, 姓名, 性别, 入学成绩FROM 学生表WHERE 入学成

9.(2)SELECT 学号, 姓名, 入学省市FROM 学生表WHERE 学号=any(Select 学号From 成绩表Where 课程号="01" And 成绩>75);

9.(3) SELECT 学号, 姓名, 入学成绩FROM 学生表WHERE Exists(Select * From 成绩表Where 课程号="01" and 学号= 学生表.学号);

数据库实验四(含答案)

实验四使用SQL语句创建和删除数据库、表 一. 实验目的: 1、了解SQL Server 2005数据库的逻辑结构和物理结构。 2、掌握使用SQL 语句创建和删除数据库。 3、学会使用T-SQL语句创建表。 二. 实验准备 1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 2.了解用SQL语句创建和删除数据库的基本语法。 3.是用查询分析器,完成用SQL语句创建和删除基本表。 三. 实验要求 1、熟练使用查询分析器进行数据库的创建和删除操作。 2、用查询分析器,完成用SQL语句创建和删除基本表。 3、完成实验报告。 四. 实验内容 一、数据库 1.以下是创建数据库userdb1的SQL语句, create database userdb1 on (name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M filegrowth=1)--数据文件每次增长1M log on ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 , filegrowth=1) 运行上诉语句建立数据库userdb1

句,并建立“学生信息”数据库.(.mdf的名字可以修改) 3.数据库的修改(alter database 数据库名add file),将一个大小为10MB 的数据文件mrkj添加到userdb1的数据库中,该数据文件的大小为10MB,最大的文件大小为100MB,增长速度为2MB,物理地址与原有的mdf,ldf文件放在一起。 alter database 数据库名 add file() 注括号内格式同下: ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 ,

实验5 sql语句练习——图书馆数据库答案

实验5sql语句练习——图书馆数据库 实验5 sql语句练习——图书馆数据库 实验目的 (1)了解SQL Server数据库的逻辑结构和物理结构; (2)了解表的结构特点; (3)了解SQL Server的基本数据类型; (4)了解空值概念; (5)学会在企业管理器中创建数据库和表; (6)学会使用T-SQL语句创建数据库和表。 (7)学会使用T-SQL语句更新数据。 (7)学会使用T-SQL语句创建多种查询。 实验准备 首先要明确,能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 其次创建数据库必须要确定数据库名、数据库大小(最初的大小、最大的大小、是否允许增长及增长方式)和存储数据库的文件。 然后,确定数据库包含哪些表,以及所包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。 此外还要了解两种常用的创建数据库、表的方法,即在企业管理器中创建和使用T-SQL的CREATE DA TABASE语句。 实验内容 假设有5本书 设有一图书馆数据库,其中包括3个表,即图书表、读者表和借阅表。三个表的结构如图: 读者表结构

(1)用Sql语句创建图书馆数据库 Create database Lab05 (2)用Sql语句创建上述3个表 create table book ( bookId char(10)primary key, bookName varchar(50), bookWriter varchar(30), bookPublish varchar(30), bookPrice float ) create table reader ( readerId char(10) primary key, readerName varchar(8)not null, readerSex char(2)not null, readerOfficeTel char(8), readerDepartment varchar(30) ) create table 借阅表 ( readerId char(10), bookId char(10), checkOutTime char(8), checkInTime char(8), primary key(readerId,bookId), foreign key (readerId) references reader(readerId), foreign key (bookId) references book(bookId), ) (3)基于图书馆数据库的3个表,用sql语言完成一下操作:1)为图书表增加一列“ISBN”,数据类型为CHAR(10)

sqlserver实验报告—数据库和表的创建

评分 签名 日期 数据库实验报告 课程名称信息系统数据库技术 实验名称数据表的管理 专业班级 姓名 学号 实验日期 实验地点 2012—2013学年度第一学期

一、实验目的 1、掌握Microsoft SQL Server 2005 Express Edition的安装过程 2、熟悉SQL Server 2005 Express Edition的基本菜单功能,界面。 3、掌握SQL Server 2005的启动、服务器注册等功能。 二、实验内容 1、数据库的创建 2、数据库的修改 3、数据的导入 4、数据的导出 5、数据库的分离 三、实验环境 Windows XP操作系统,Microsoft SQL Server 2005 Express Edition。 四、相关知识 1、数据库命令规则取决于数据库兼容的级别,而数据库级别可以用存储过程sp_helpdb 来查询。注意:其一由于在T-SQL中,“@”表示局部变量,“@@”表示全局变量,“##”表示全局临时对象,所以不建议用这些符号作为数据库名称的开头;其二虽然在SQL Server 2005中,保留字区分大小写,但也不建议用改过大小写的保留字作为数据库名。 2、数据库文件:每个SQL Server 2005的数据库至少包含二个文件:一个数据文件(.mdf)和一个日志文件(.ldf)。 3、数据库的创建命令:CREATE DATABASE 4、数据库的修改命令:ALTER DATABASE 只有数据库管到员或具有CREATE DATABASE权限的数据库所有者才有权执行ATER DATABASE语句。在实际操作中,ALTER DATABASE一次只能修改一种参数 5、数据库的删除命令:DROP DATABASE 6、数据库的分离命令:SP_DETACH_DB 'filename' 7、数据库的附加命令:CREATE DATABASE…FOR ATTACH 8、数据的导入是指从其他数据源中把数据复制到SQL Server数据库中。 9、数据的导出是指从SQL Server数据库中把数据复制到其他数据源中。 2

实验报告 数据库的基本查询'

一、实验目的: 通过该实验掌握应用SQL 查询数据库的基本方法,包括单表、多表查询。 二、实验原理 数据库查询是数据库的核心操作。SQL语言提供了SELECT语句进行数据库的查询。 SELECT[ALL|DISTINCT] <目标列表达式〉[,<目标列表达式〉]... FROM<表名或视图名〉[,<表名或视图名〉]... [WHERE<条件表达式>] [GROUP BY<列名1〉[HA VING<条件表达式>]] [ORDERBY<列名2〉[ASC|DESC]] 三、实验内容和方法 实验用的数据库:用实验二建立的数据库:School 1. 投影查询 (1) 查询SC表的sno的不重复记录。 使用SQL语句:“select distinct Sno from SC”,得出结果如下图所示: (2) 改变查询结果的标题名:sno为学号,sname为姓名,ssex 为性别,sdept 为系名。 使用SQL语句:“select Sno 学号,Sname 姓名,Ssex 性别,Sdept 系名from Student”,得出结果如下图所示:

(3) 查询STUDENT表的前3条记录(top 3)。 使用SQL语句:“select top 3 * from Student”,得出结果如下图所示: 3. 选择查询 (1) 查询成绩在60-80之间的姓名、系名和成绩。 使用SQL语句:“select Sname,Sdept,Grade from Student,SC where Grade>60 and Grade<80 and Student.Sno=SC.Sno”,结果如下图所示: 若使用SQL语句:“select Sname,Sdept,Grade from Student,SC where Grade between 60 and 80 and Student.Sno=SC.Sno”,则结果如下图所示: (2) 查询信息系和计算机系的姓名和成绩。 使用SQL语句:“select Sname,Grade from Student,SC where Sdept='IS' and Student.Sno=SC.Sno or Sdept='CS' and Student.Sno=SC.Sno”,结果如下图所示:

数据库SQL语句实验报告

《数据库原理及应用》实验报告SQL语句部分 :绩成总

实验一熟悉SQL SERVER,数据定义实验 实验一成绩: 一、实验目的 1、利用查询分析器创建数据库 2、利用查询分析器用SQL语言定义基本表、索引并进行相关操作 二、实验步骤及内容 在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。 1.创建学生课程数据库 2.创建学生关系表S : 3.创建课程关系表C : 课程名学分先行课课程号Cno ccreditCname Cpno 4.创建课程关系表SC : 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。 6、在表S上增加“出生日期”属性列。 7、删除表S的“年龄”属性列。 8、删除S姓名列的唯一值约束。 9、修改SC表成绩属性列为精确数字型。 10、在表S上,按“Sno”属性列的唯一值方式建立索引。 11、删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。 12、创建教材P74页习题5中SPJ数据库中的四个关系:S、P、J、SPJ。 三、实验结果: 1.创建学生课程数据库 ; Studend create database2.创建学生关系表S : S create table(, 9Sno CHAR()PRIMARYKEY UNIQUE,)(Sname CHAR20CHAR Ssex (2), smallint Sage ,

char Sdept 20(), ); .创建课程关系表C 3: 课程号课程名先行课学分 ccredit Cpno CnoCname table C create (primary key,) Cno char(4Cname CHAR(40 ),char(), 4Cpno ,Ccredit SMALLINT); 4.创建课程关系表SC : 学号课程号成绩 grade Sno Cno createtable SC(9),Sno char(),char Cno (4, Grade smallint); 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。 6、在表S上增加“出生日期”属性列。 ;datetimeadd Sbirthday alter table S 7、删除表S的“年龄”属性列。

数据库实验报告

计算机与信息学院 实验报告 专业班级 计科3班 学生姓名及学号 2014217151 李勤阳课程教学班号 任课教师 实验指导教师 实验地点 计算机楼303 20 16 ~20 17 学年第一学期

实验一数据库的创建和删除 一. 实验目的: 1. 了解SQL Server数据库的环境。 2. 掌握使用SQL 语句创建数据库的方法。 二.实验要求 1. 掌握通过查询分析器进行交互式SQL语句的使用方法。 2. 理解SQL Server中的共享架构dbo。 3.注意操作结果的截图与保存,供撰写实验报告使用。 三.实验内容 1. 使用SQL语句创建数据库EDUC。 数据库的参数要求: 数据库名称:EDUC 数据库存储路径:将数据库文件存储在D:\jxgl\目录中。 (注,如果该目录不存在,需在D盘新建一个名为jxgl的文件夹) 其他参数要求: 数据文件的初始大小:10M 最大:60M 按5%的比例自动增长。 日志文件的初始大小:4M 最大:10M 增量为1M。 2. 将新创建的数据库设置为当前数据库。 四.实验步骤

1.创建数据库EDUC的SQL语句: 示例:创建数据库userdb1 maxsize=5 , filegrowth=1)create database userdb1 on (name=userdb1_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 filename='d:\sql_data\userdb1.mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M filegrowth=1)--数据文件每次增长1M log on ( name=userdb1_log, filename='d:\sql_data\userdb1.ldf ' , size=2 , reate database EDUC on (name=EDUC_data, filename='E:\jxgl\EDUC.mdf', size=10, maxsize=60, filegrowth=5%) log on ( name=EDUC_log, filename='E:\jxgl\EDUC.ldf ',

数据库系统原理实验报告_SQL查询语句

数据库系统原理 实验报告 :xxx 学号:xxxxxxxx 专业:xxxxx 日期:xxxxx

Lab2 一、实验目的 进一步熟悉关系数据库标准语言SQL。 二、实验环境 1)Windows 10 2)SQL Server 2017 三、实验容 给定如学生表、课程表和学生作业表所示的信息。 表1 学生表 表2 课程表 表3 学生作业表

K001 0433 60 75 75 K001 0529 70 70 60 K001 0531 70 80 80 K001 0591 80 90 90 K002 0496 80 80 90 K002 0529 70 70 85 K002 0531 80 80 80 K002 0538 65 75 85 K002 0592 75 85 85 K006 0531 80 80 90 K006 0591 80 80 80 M001 0496 70 70 80 M001 0591 65 75 75 S001 0531 80 80 80 S001 0538 60 80 写出如下SQL语句: 1.查询数据库中有哪些专业班级。(5分) Sql语句: SELECT专业班级 FROM学生表; 查询结果截图: 2.查询在1986年出生的学生的学号、和出生日期。(5分) Sql语句: SELECT学号,,出生日期 FROM学生表 WHERE出生日期LIKE'1986%'; 查询结果截图:

3.查询05级的男生信息。(5分) Sql语句: SELECT* FROM学生表 WHERE学号LIKE'05%'AND性别='男'; 查询结果截图: 4.查询没有作业成绩的学号和课程号。(5分) Sql语句: SELECT学号,课程号 FROM学生作业表 WHERE作业1成绩IS NULL OR作业2成绩IS NULL OR作业3成绩IS NULL; 查询结果截图: 5.查询选修了K001课程的学生人数。(5分) Sql语句: SELECT COUNT(DISTINCT学号) FROM学生作业表 WHERE课程号='K001'; 查询结果截图:

数据库SQL语句实验报告

《数据库原理及应用》实验报告 SQL语句部分 总成绩:

实验一熟悉SQL SERVER,数据定义实验 实验一成绩: 一、实验目的 1、利用查询分析器创建数据库 2、利用查询分析器用SQL语言定义基本表、索引并进行相关操作 二、实验步骤及内容 在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。 1.创建学生课程数据库 3.创建课程关系表C : 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。 6、在表S上增加“出生日期”属性列。 7、删除表S的“年龄”属性列。 8、删除S姓名列的唯一值约束。 9、修改SC表成绩属性列为精确数字型。 10、在表S上,按“Sno”属性列的唯一值方式建立索引。 11、删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。 12、创建教材P74页习题5中SPJ数据库中的四个关系:S、P、J、SPJ。 三、实验结果: 1.创建学生课程数据库 create database Studend; create table S ( Sno CHAR(9)PRIMARY KEY, Sname CHAR(20)UNIQUE, Ssex CHAR(2), Sage smallint, Sdept char(20), );

3.创建课程关系表C : 课程号课程名先行课学分 Cno Cname Cpno ccredit create table C ( Cno char(4)primary key, Cname CHAR(40), Cpno char(4), Ccredit SMALLINT, ); 4.创建课程关系表SC : 学号课程号成绩 Sno Cno grade create table SC ( Sno char(9), Cno char(4), Grade smallint, ); 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。 6、在表S上增加“出生日期”属性列。 alter table S add Sbirthday datetime; 7、删除表S的“年龄”属性列。 alter table S drop column Sage;

数据库实验SQL语句

实验报告 实验二SQL 连接和嵌套查询实验项目名称 实验室 所属课程名称《数据库》 实验日期 班级 学号 姓名 成绩

Where E.MGR=M.empno; 3, 查询所有销售员(SALESMAN)的雇员编号、姓名、薪金和部门名称 Select empno,ename,sal,dname From emp,dept Where job=’SALESMAN’ AND Emp.deptno=dept.deptno; 4, 查询雇用日期早与其经理的所有雇员的编号、姓名和雇佣日期,以及其经理的编号、姓名和雇佣日期; Select E.empno,E.ename,E.hiredate,M.empno as MGRNO,M.ename AS MGENAME,M.hiredate From emp E,emp M Where E.mgr=M.empno AND E.hiredateS.sal AND S.ename=’SCOTT’; 6, 查询与“ALLEN”从事相同工作的所有雇员的雇员编号、姓名、雇佣日期和薪金Select E.empno,E.ename,E.hiredate,E.sal From emp E,emp A Where E.job=A.job AND A.ename=’ALLEN’; 7, 查询薪金高于公司平均水平的所有雇员的编号、姓名和薪金 Select empno,ename,sal From emp Where sal> (select AVG(sal) From emp); 8, 查询部门名称及其雇员姓名,若有些部门还没有雇员的话只要显示其部门名称即可Select dname,ename From dept,emp where emp.deptno(+)=dept.deptno; 9, 查询薪金高于部门 20所有雇员薪金的雇员的姓名和薪金 Select ename,sal From emp Where sal>ALL (select sal From emp Where deptno=20); 10,查询薪金高于某个部门10雇员薪金的雇员的姓名和薪金 Select ename,sal From emp Where sal>ANY

数据库SQL查询语句实验报告

实验一简单查询 在订单数据库中完成如下的查询 (1) 查询所有业务部门的员工姓名、职称、薪水 命令: select employeeName2612,headShip2612,salary2612 from Employee2612 where department2612='业务科' 结果: (2) 查询名字中含有“有限”的客户姓名和所在地。 命令: select CustomerName2612,address2612 from Customer2612 where CustomerName2612 like '%有限%' 结果: (3) 查询出姓“王”并且姓名的最后一个字为“成”的员工。 命令: select * from Employee2612 where employeeName2612 like '王%成' 结果: (4) 查询住址中含有上海或南昌的女员工,并显示其姓名、所属部门、职称、住址,其中性别用“男”和“女”显示。 命令:

select employeeName2612,department2612,headShip2612,address2612, case sex2612 when 'M' then '男' when 'F' then '女' end as 性别 from Employee2612 where address2612 like '%上海%' or address2612 like '%南昌%' and sex2612='F' 结果: (5) 在表sales中挑出销售金额大于等于10000元的订单。 命令: SELECT orderNo2612,sum(quantity2612*price2612) as total FROM OrderDetail2612 GROUP BY orderNo2612 HA VING sum(quantity2612*price2612)>10000 结果: (6) 选取订单金额最高的前10%的订单数据。 命令: select TOP 10 PERCENT orderNo2612, sum(quantity2612*price2612) as total from OrderDetail2612 group by orderNo2612 ORDER BY total desc 结果: (7) 查询出职务为“职员”或职务为“科长”的女员工的信息。 命令: select * from Employee2612 where headShip2612 in ('科长','职员') and sex2612='F' 结果:

数据库实验二 通过SQL语句创建与管理数据表

实验二通过SQL语句创建与管理数据表一、实验目的 (1)掌握查询分析器的使用。 (2)掌握通过SQL语句创建表的方法。 (3)掌握通过SQL语句修改表结构的方法。 (4)掌握通过SQL语句添加、修改、删除表数据的方法。 二、实验内容 1、通过SQL语句删除表 用SQL语句在数据库Student_info中删除实验一创建的Student表、Course表、SC表。drop table SC_20103322 drop table Student_20103322 drop table Course_20103322 2、通过SQL语句创建表 用SQL语句在数据库Student_info中创建实验一中的Student表、Course表、SC表,结构如实验一中表2、表3、表4所示 表2: create table Student_20103322 ( Sno char(8)not null primary key,--学号

Sname varchar(8)not null,--学生姓名 Sex char(2)not null default'男',--性别 Birth smalldatetime not null,--出生年月 Classno char(3)not null,--班级号 Entrance_date smalldatetime not null,--入学时间Homeaddr varchar(40)not null,--家庭住址 ) 表3: create table Course_20103322 ( Cno char(3)not null primary key,--课程号 Cname varchar(20)not null,--课程名称 Total_perior smallint,--总学时 Credit tinyint,--学分 check (Total_perior>3 and Credit>0 and Credit<=6) )

数据库原理中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) Sno Sname Ssex Sage Sdept 200515001 赵菁菁女23 CS 200515002 李勇男20 CS 200515003 张力男19 CS 200515004 张衡男18 IS 200515005 张向东男20 IS 200515006 张向丽女20 IS 200515007 王芳女20 CS 200515008 王民生男25 MA 200515009 王小民女18 MA 200515010 李晨女22 MA 200515011 张毅男20 WM 200515012 杨磊女20 EN 200515013 李晨女19 MA

200515014 张丰毅男22 CS 200515015 李蕾女21 EN 200515016 刘社男21 CM 200515017 刘星耀男18 CM 200515018 李贵男19 EN 200515019 林自许男20 WM 200515020 马翔男21 200515021 刘峰男25 CS 200515022 牛站强男22 200515023 李婷婷女18 200515024 严丽女20 200515025 朱小鸥女30 WM 课程信息表(course) Cno Cname Cpno Ccredit 1 数据库 5 4 2 数学 2 3 信息系统 1 4 4 操作系统 6 3 5 数据结构7 4 6 数据处理 2 7 PASCAL语言 6 4 8 大学英语 4 9 计算机网络 4 10 人工智能 2 选课信息表(sc) Sno Cno Grade 200515001 1 75 200515002 1 85 200515002 3 53 200515003 1 86 200515004 1 74 200515005 1 58 200515006 1 84 200515004 2 46

数据库系统原理实验报告-SQL查询语句

数据库系统原理 实验报告 姓名:xxx 学号:xxxxxxxx 专业:xxxxx 日期:xxxxx

Lab2一、实验目的 进一步熟悉关系数据库标准语言SQL。 二、实验环境 1)Windows 10 2)SQL Server 2017 三、实验内容 给定如学生表、课程表和学生作业表所示的信息。 表2 课程表 表3 学生作业表

K0020529707085 K0020531808080 K0020538657585 K0020592758585 K0060531808090 K0060591808080 M0010496707080 M0010591657575 S0010531808080 S00105386080 写出如下SQL语句: 1.查询数据库中有哪些专业班级。(5分) Sql语句: SELECT专业班级 FROM学生表; 查询结果截图: 2.查询在1986年出生的学生的学号、姓名和出生日期。(5分)Sql语句: SELECT学号,姓名,出生日期 FROM学生表 WHERE出生日期LIKE'1986%'; 查询结果截图: 3.查询05级的男生信息。(5分) Sql语句: SELECT* FROM学生表 WHERE学号LIKE'05%'AND性别='男';

查询结果截图: 4.查询没有作业成绩的学号和课程号。(5分) Sql语句: SELECT学号,课程号 FROM学生作业表 WHERE作业1成绩IS NULL OR作业2成绩IS NULL OR作业3成绩IS NULL; 查询结果截图: 5.查询选修了K001课程的学生人数。(5分) Sql语句: SELECT COUNT(DISTINCT学号) FROM学生作业表 WHERE课程号='K001'; 查询结果截图: 6.查询数据库中共有多少个班级。(5分) Sql语句: SELECT COUNT(DISTINCT专业班级) FROM学生表; 查询结果截图: 7.查询选修三门以上(含三门)课程的学生的学号和作业1平均分、作业2平均分和作业3平均分。(5分) Sql语句: SELECT学生作业表.学号,AVG(作业1成绩),AVG(作业2成绩),AVG(作业3成绩) FROM学生表,学生作业表

数据库 实验报告5 ESQL

实验内容: 编写嵌入式C 程序,编程实现了对“学生课程数据库”的访问和操作:对Student 表中的年龄进行更新。系统每输出一个学生记录,询问用户是否更新。如果要更新,就输入新的年龄。 一. 实验环境介绍。 实验五是在之前完成的实验一的基础上进行的。 系统配置为:CPU: P3 800 内存:512MB 硬盘:30G 软件系统:WINDOWS 2000 ADV ANCED SERVER 。 在实验一中,我们已经成功安装了KingbaseES V4.1,形成本实验所需要的环境。其中安装路径为C:\Program Files 目录下。 二.编写含嵌入式C 程序test ,扩展名为.pc 。 EXEC SQL BEGIN DECLARE SECTION; /*说明主变量deptname ,HSno ,HSname , char deptname[20]; *HSsex ,HSage ,NEWAGE 。*/ char HSno[9]; char HSname[20]; char HSsex[2]; int HSage; int NEWAGE; EXEC SQL END DECLARE SECTION; /*声明部分结束*/ long SQLCODE; EXEC SQL INCLUDE sqlca; /*定义SQL 通信区*/ int main(void) { int count = 0; char yn; /*变量yn 代表yes 或者no*/ printf("Please choose the department name(CS/MA/IS): "); /*为主变量deptname 赋值*/ scanf("%s", &deptname); EXEC SQL CONNECT TO 学生课程数据库@localhost:54321 USER "SYSTEM"/"MANAGER"; /*连接数据库TEST*/ EXEC SQL DECLARE SX CURSOR FOR /*说明游标,为查询和更新做准备*/ SELECT Sno, Sname, Ssex, Sage FROM Student WHERE SDept = :deptname; EXEC SQL OPEN SX; /*打开游标。*/ for ( ; ; ) /*用循环结构逐条处理结果集的记录*/ { 《数据库系统概论》实验报告 题目:实验五 通过嵌入式SQL 访问数据库 姓名 Vivian 日期 2006-1-1

数据库SQL实验操作答案

1、 创建数据库: 创建一个教学管理数据库,以自己的名字拼音首字母+下划线+SC 作为库名(如名字叫张三,则:ZC_SC ), (1)确定数据库名称;数据库用于学生管理,命名为如ZS_SC (2)确定数据库的位置;要求:数据文件和日志文件分别存储在E 盘自己的目录下。 (3)确定数据库的大小;根据实际的数据量确定数据文件的初始大小为30MB ,日志文件的初始大小为3MB 。 (4)确定数据库的增长;根据实际情况,确定数据文件按20%增长,日志文件按1MB 增长。 请利用查询分析器(Query Analyzer ),使用SQL 语句指定参数创建数据库,给出实现代码和截图。 2 、 创建基本表:(注意:请在表名前加上自己的姓名拼音的首字母,主键前加上自己的姓 名拼音的首字母,例如张三为ZC_) 其描述的信息有:学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息。 创建:student 表(学生信息表)、course 表(课程信息表)、teacher 表(教师信息表)、student _course 表(学生选课成绩表)、teacher_course 表(教师上课课表)等。 请利用查询分析器,使用SQL 语句将下面各表建立到教学管理数据库中。写出SQL 语句(注意级联删除设置),查看各数据表之间的关系,画出实体关系图(ER 图)。

( cyrs_no char(8)primary key, sname char(8)not null, sex char(2), sbirthday smalldatetime, dno char(6), spno char(8), class_no char(4), foreign key(dno)references cyr_department(cyr_dno), foreign key(spno)references cyr_speciality(cyr_spno) ) (2)创建Course表 ( cyr_cno char(10)primary key, cname char(20)not null, spno char(8), ctno tinyint, lecture tinyint, experiment tinyint, semester tinyint, credit tinyint, foreign key(spno)references cyr_speciality(cyr_spno) )

数据库实验报告四

姓名:李爽学号:08196059 专业班级:通信工程一班日期:2010-12-6 实验四数据更新、视图的创建与修改 一、实验目的 1、学会使用INSERT、UPDA TE、DELETE等SQL语句进行数据更新; 2、学会使用CREATE、DROP等SQL语句创建和删除视图。 二、实验内容 1、在sql server2008中使用INSERT、UPDATE、DELETE语句进行数据更新。 2、在sql server2008中使用CREATE、DROP语句创建和删除视图。 三、实验步骤 1、在数据库S-C的三个表中分别插入以下数据:学生表student: 课程表course: 成绩表sc:

2、在sql server2008中: (1) 选择数据库S-C,用INSERT语句向学生表student中插入一个新生记录(学号:95020;姓名:陈东;性别:男;所在系:IS;年龄:18)。 (2) 在数据库S-C中建立一个新表deptage,其中一个字段存放系名,另一个字段存放相应得学生平均年龄;然后对学生表student按系分组求平均年龄,再把系名和平均年龄存入新表中。 3、在sql server2008用UPDA TE语句更改表中数据。 (1) 将所有学生的年龄都增加1岁。

(2) 将IS系全体学生的成绩置零。 (3) 分别运行SQL语句,观察运行结果。 4、在sql server2008中用DELETE语句删除表中数据。 (1) 删除学号为“200215121”的学生记录。

(2) 删除IS系所有学生的成绩记录。 5、在sql server2008中用CREATE语句建立视图。

实验5sql语句练习——图书馆数据库答案

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 实验5sql语句练习——图书馆数据库 实验5 sql语句练习——图书馆数据库 实验目的 (1)了解SQL Server数据库的逻辑结构和物理结构; (2)了解表的结构特点; (3)了解SQL Server的基本数据类型; (4)了解空值概念; (5)学会在企业管理器中创建数据库和表; (6)学会使用T-SQL语句创建数据库和表。 (7)学会使用T-SQL语句更新数据。 (7)学会使用T-SQL语句创建多种查询。 实验准备 首先要明确,能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 其次创建数据库必须要确定数据库名、数据库大小(最初的大小、最大的大小、是否允许增长及增长方式)和存储数据库的文件。 然后,确定数据库包含哪些表,以及所包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。 此外还要了解两种常用的创建数据库、表的方法,即在企业管理器中创建和使用T-SQL的CREATE DA TABASE语句。 实验内容 假设有5本书 设有一图书馆数据库,其中包括3个表,即图书表、读者表和借阅表。三个表的结构如图: 读者表结构 假设有10位读者 借阅表结构

.欢迎下载支持. Create database Lab05 (2)用Sql语句创建上述3个表 create table book ( bookId char(10)primary key, bookName varchar(50), bookWriter varchar(30), bookPublish varchar(30), bookPrice float ) create table reader ( readerId char(10) primary key, readerName varchar(8)not null, readerSex char(2)not null, readerOfficeTel char(8), readerDepartment varchar(30) ) create table 借阅表 ( readerId char(10), bookId char(10), checkOutTime char(8), checkInTime char(8), primary key(readerId,bookId), foreign key (readerId) references reader(readerId), foreign key (bookId) references book(bookId), ) (3)基于图书馆数据库的3个表,用sql语言完成一下操作: 1)为图书表增加一列“ISBN”,数据类型为CHAR(10) alter table book add ISBN char(10) 2)为刚添加的ISBN列增加缺省值约束,约束名为ISBNDEF,缺省值为‘49’ ALTER TABLE book ADD CONSTRAINT ISBNDEF DEFAULT ('49') FOR ISBN 3)删除图书表中ISBN列增加的缺省值约束 alter table book drop ISBNDEF 4)删除图书表中新增的ISBN列 ALTER TABLE book DROP COLUMN ISBN 5)查询全体图书的图书号、书名、作者、出版社和单价 select bookId,bookName,bookWriter,bookPublish,bookPrice from book 6)查询全体图书的信息,其中单价打8折,并设置该列的别名为‘打折价’

数据库SQL实验代码

--实验一、数据库的定义实验 --1.创建XSCJGL数据库 USE MASTER IF DB_ID('XSCJGL')IS NOT NULL DROP DATABASE XSCJGL CREATE DATABASE XSCJGL --2、刷新数据库目录后,选择新出现的XSCJGL数据库,在SQL操作窗口中,创建Student、SC、Course三表及表记录插入命令如下: use xscjgl if object_id('sc','u')is not null drop table sc if object_id('s','u')is not null drop table s if object_id('c','u')is not null drop table c if object_id('tsc','u')is not null drop table tsc if object_id('ts','u')is not null drop table ts if object_id('tc','u')is not null drop table tc Create Table S ( Sno CHAR(2)NOT NULL PRIMARY KEY(Sno), Sname CHAR(6), sex CHAR(2)DEFAULT'男'CHECK(sex='男'OR sex='女'), age SMALLINT CHECK(age>=15 AND age<=45), sdept CHAR(6)); Create Table C ( Cno CHAR(2)NOT NULL PRIMARY KEY(Cno), Cname VARCHAR(20), cdept CHAR(6), Tname CHAR(6), ct SMALLINT CHECK((ct IS NULL)OR(ct BETWEEN 1 AND 5)), CPNO VARCHAR(20)); Create Table SC ( Sno CHAR(2)NOT NULL CONSTRAINT S_F FOREIGN KEY REFERENCES S(Sno), Cno CHAR(2)NOT NULL, GRADE SMALLINT CHECK((GRADE IS NULL)OR(GRADE BETWEEN 0 AND 100)), PRIMARY KEY(Sno,Cno), FOREIGN KEY(Cno)REFERENCES C(Cno)); INSERT INTO S VALUES('S1','李涛','男',22,'统计'); INSERT INTO S VALUES('S2','王林','女',18,'计算机'); INSERT INTO S VALUES('S3','陈高','女',15,'自动化'); INSERT INTO S VALUES('S4','张杰','男',17,'自动化'); INSERT INTO S VALUES('S5','吴小丽','女',19,'统计'); INSERT INTO S VALUES('S6','张敏敏','女',20,'计算机'); INSERT INTO S VALUES('S7','郑冬','男',19,'数学'); INSERT INTO S VALUES('S8','朱雨','男',20,'数学'); INSERT INTO C VALUES('C1','C语言','计算机','汪小寒','4','计算机基础'); INSERT INTO C VALUES('C2','R软件','自动化','周在莹','3','线性代数');

相关文档