实验2 交互式SQL_参考答案

合集下载

数据库实验二交互式SQL试验报告

数据库实验二交互式SQL试验报告
在企业管理器中建立SPJ数据库,分别建J、S、P、SPJ表,进行了表结构的修改以及删除等练习。
S表
J表
P表
SPJ表
2.数据操作:
(1)求供应工程j1零件的供应商号码SNO;
select sno from spj where jno='j1'
(2)求供应工程j1零件p1的供应商号码SNO;
select sno from spj where jno='j1'and pno='p1'
创建表J
create table J(JNOchar(5)not null,JNAMEchar(20)not null,CITYchar(10));
创建表SPJ
create table SPJ(SNOchar(5)not null unique,PNOchar(5)not null unique,JNOchar(5)not null unique,QTYint);
加上select * fromp执行即可
(5)找出所有供应商的姓名和所在城市;
select sno ,city from s
(6)找出所有零件的名称、颜色、重量;
select pname,color,weight from p
(7)找出使用供应商S1所供应零件的工程号码;
select jno from spj where sno='s1'
(10)找出使用上海产的零件的工程名;
select jname from j join spj on spj.jno=j.jnojoin s on s.sno=spj.sno wheres.city='上海'
(11)找出没有使用天津产的零件的工程号码;

数据库实验报告实验二_交互式SQL

数据库实验报告实验二_交互式SQL

数据库实验报告实验二_交互式SQL一、实验目的1.了解交互式SQL的基本语法和使用步骤;2.掌握在MySQL中创建数据库和表格的方法;3.掌握常用的SQL操作语句。

二、实验环境1. 操作系统:Windows 10;2.数据库管理系统:MySQL。

三、实验内容1.创建数据库和表格(1)启动MySQL服务,在命令提示符窗口中输入以下命令:```mysql -u root -p```(2)输入MySQL的密码,进入MySQL的命令行界面。

(3) 创建一个新的数据库,命名为`student`,输入以下命令:```CREATE DATABASE student;```(4)进入刚刚创建的数据库,输入以下命令:```USE student;```(5) 在`student`数据库中创建一个新的表格,命名为`score`,输入以下命令:```CREATE TABLE scoreid INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),english INT,math INT,physics INT```(6) 使用`DESCRIBE`命令查看新创建的`score`表格的结构,输入以下命令:```DESCRIBE score;```2.插入数据(1) 使用`INSERT INTO`命令向`score`表格中插入数据,输入以下命令:```INSERT INTO score (name, english, math, physics) VALUES ('张三', 80, 90, 85), ('李四', 75, 85, 90);```(2) 使用`SELECT`命令查询`score`表格中的数据,输入以下命令:```SELECT * FROM score;```3.更新数据(1) 使用`UPDATE`命令修改`score`表格中的数据,将`id`为1的记录的英语成绩修改为86,输入以下命令:```UPDATE score SET english = 86 WHERE id = 1;```(2) 使用`SELECT`命令查询`score`表格中的数据,验证英语成绩是否被修改,输入以下命令:```SELECT * FROM score;```4.删除数据(1) 使用`DELETE FROM`命令删除`score`表格中的数据,将`id`为2的记录删除,输入以下命令:```DELETE FROM score WHERE id = 2;```(2) 使用`SELECT`命令查询`score`表格中的数据,验证记录是否被删除,输入以下命令:```SELECT * FROM score;```四、实验总结本次实验主要学习了交互式SQL的基本语法和使用步骤,并通过实践掌握了在MySQL中创建数据库和表格的方法,以及常用的SQL操作语句。

实验二、三:交互式SQL

实验二、三:交互式SQL

实验二:交互式SQL
1 实验目的
1.熟悉数据库的交互式SQL工具。

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

3.完成作业的上机练习。

2 实验工具KingbaseES/MS SQL SERVER2000
利用KingbaseES/MS SQL SERVER2000及其交互式查询工具ISQLW来熟悉SQL。

3 实验内容和要求
1. 在KingbaseES/SERVER2000中建立一个数据库,进行实验所要求的各种操作,所有的SQL操作均在此建立的新库里进行。

2. 根据以下要求认真填写实验报告,记录所有的实验用例。

3.1 数据定义
1.熟悉基本表的创建、修改及删除。

2.熟悉索引的创建和删除。

3.熟悉视图的创建和删除。

3.2 数据操作
1.完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询)。

2.完成各类更新操作(插入数据,修改数据,删除数据)。

3.3 视图的操作
视图的定义(创建和删除),查询,更新(注意更新的条件)。

交互式SQL-查询语句

交互式SQL-查询语句
3.实验方案(程序设计说明)
(1)创建数据库。
(2)在数据库中建立雇员关系表、工作关系表、公司关系表。
(3)建立3个表的关联关系。
(4)向表中添加数据。
(5)用SQL语言完查询任务。
(适用计算机程序设计类)
专业班级:计算机1202班学号:120405218姓名:张天皓
实验步骤或程序:
(1)查找所有为第一银行工作的雇员的姓名及居住城市。
2•实验内容:
(1)在SQL Server2000中建立一个新数据库,进行实验所要求的各 种操作,所有的SQL操作均在此建立的新库里进行。
(2)根据以下要求认真填写上机报告,记录所有的程序及实验用例。
(3)在SQL SERVER2000中新建一个数据库,进行实验所要求的各 种操作,所有的SQL操作均在此建立的新库里进行。
group by EMቤተ መጻሕፍቲ ባይዱLOYEE.E name
hav ing Wmon ey>avg(Wm on ey);
from WORKS
group by WORKS.C nu mber );
(4)查询工资高于其所在公司平均工资的职工名。
select En ame
from EMPLOYEE,WORKS,COMPANY
whereEMPLOYEE.E number=WORKS.E number
COMPANY.C nu mber=WORKS.C number
实验报告
课程名称:
数据库系统概论
实验项目:
交互式SQL(2)
实验报告
(适用计算机程序设计类)
专业班级:计算机1202学号:120405218姓名:张天皓
实验名称:交互式SQL(2)

201509-实验二:交互式SQL

201509-实验二:交互式SQL

实验二:交互式SQL一、实验目的1.熟悉数据库的交互式SQL工具。

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

二、实验平台SQL SERVER 2008三、实验内容和要求1.在SQL Server 2008中建立一个数据库,进行实验所要求的各种操作,所有的SQL操作均在此建立的新库里进行。

2.根据以下要求认真完成实验并填写实验报告。

1)数据定义1.熟悉数据库的创建、修改及删除2.熟悉基本表的创建、修改及删除。

3.熟悉索引的创建和删除。

4.熟悉视图的创建和删除。

2)数据操作1.完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询)。

2.完成各类更新操作(插入数据,修改数据,删除数据)。

3)视图的操作视图的定义(创建和删除),查询,更新(注意更新的条件)。

四、实验步骤(一)数据定义一、数据库操作1.创建数据库创建一个数据库TEST,数据文件的逻辑名称为test_data,数据文件存放在D盘根目录下,文件名为testdada.mdf,数据文件的初始存储空间大小为10MB,最大存储空间为50MB,存储空间自动增长量为5MB;日志文件的逻辑名称为test_log,日志文件物理的存放在D盘根目录下,文件名为tesdata.ldf,初始存储空间大小为5MB,最大存储空间为25MB,存储空间自动增长量为5MB。

CREATE DATABASE testON(NAME=test_data,FILENAME=’d:\testdata.mdf’,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=5)LOG ON(NAME=test_log,FILENAME=’d:\testdata.ldf’,SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5)2.修改数据库将TEST数据库中test_data文件的最大存储空间修改为UNLIMITED。

ALTER DATABASE testMODIFY FILE(NAME=test_data,MAXSIZE=unlimited)3.删除数据库删除数据库TEST。

实验2-交互式SQL语言

实验2-交互式SQL语言

实验2 交互式SQL语言
【实验目的】
(1)熟悉数据库的交互式SQL工具。

(2)熟悉通过SQL语言对数据库进行操作。

【实验平台】
SQL Server 2000或2005
【实验内容和要求】
1.建立一个学生-课程数据库S_T,以下所有的SQL操作均在数据库上进行。

2.根据要求认真填写实验报告,记录所有实验用例。

(1)数据定义
●熟悉基本表的创建、修改和删除。

●熟悉索引的创建和删除。

●熟悉视图的创建和删除。

(2)数据操作
●完成各类查询操作(单表查询、连接查询、嵌套查询、集合查询)。

●完成各类更新操作(插入数据、修改数据、删除数据)。

(3)视图操作
●视图的定义(创建和删除)、查询、更新(注意更新的条件)。

实验2 报告。

最新国家开放大学电大《MySQL数据库应用》网络核心课实验训练2及4答案

最新国家开放大学电大《MySQL数据库应用》网络核心课实验训练2及4答案

最新国家开放大学电大《MySQL数据库应用》网络核心课实验训练2及4答案盗传必究本课程分为形成性考核和终结性末考两种考核形式,形成性考核占50%(满分100分),末考为网络考试占50%(满分100),其中形成性考核为完成课程网站上的形考作业任务,形考作业均为主观题,包括四个实训:实训一:在MYSQL创建数据库和表,25分;实训二:数据查询操作,25分;实训三:数据增删改操作,25分;实训四:数据库系统维护,25分。

实验训练2:数据查询操作答案:实验目的:基于实验 1 创建的汽车用品网上商城数据库 Shopping ,理解 MySQL 运算符、函数、谓词,练习 Select 语句的操作方法。

实验内容:1. 单表查询【实验 2.1 】字段查询( 1 )查询商品名称为“挡风玻璃”的商品信息。

分析:商品信息存在于商品表,而且商品表中包含商品名称此被查询信息,因此这是只需要涉及一个表就可以完成简单单表查询。

( 2 )查询 ID 为 1 的订单。

分析:所有的订单信息存在于订单表中,而且订单用户 ID 也存在于此表中,因此这是只需要查询订单表就可以完成的查询。

【实验 2.2 】多条件查询查询所有促销的价格小于 1000 的商品信息。

分析:此查询过程包含两个条件,第一个是是否促销,第二个是价格,在商品表中均有此信息,因此这是一个多重条件的查询。

【实验 2.3 】 DISTINCT( 1 )查询所有对商品 ID 为 1 的商品发表过评论的用户 ID 。

分析:条件和查询对象存在于评论表中,对此商品发表过评论的用户不止一个,而且一个用户可以对此商品发表多个评论,因此,结果需要进行去重,这里使用 DISTINCT 实现。

( 2 )查询此汽车用品网上商城会员的创建时间段, 1 年为一段。

分析:通过用户表可以完成查询,每年可能包含多个会员,如果把此表中的创建年份都列出来会有重复,因此使用 DISTINCT 去重。

【实验 2.4 】 ORDER BY( 1 )查询类别 ID 为 1 的所有商品,结果按照商品 ID 降序排列。

实验二 交互式SQL (1)汇总

实验二  交互式SQL (1)汇总

实验二交互式SQL Server(1)1 实验目的1.熟悉数据库的交互式SQL工具。

2.熟悉通过SQL的DDL,DML语言对数据库进行操作。

3.完成作业的上机练习。

2 实验工具SQL-Server利用SQL-Server及其交互式查询分析熟悉SQL。

3 实验内容和要求SQL(Structured Query Language)语言是关系数据库的标准语言。

是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询,SQL语言是一个通用的、功能极强的关系数据库语言。

SQL Server 2000的查询分析器是一种特别用于交互式执行SQL语句和脚本的极好的工具。

本次实验了解SQL Server 2000查询分析器的启动,熟悉如何在SQL Server 2000查询分析器中进行交互式SQL操作。

本次实验了解DDL语言的CREATE、DROP、ALTER对表、索引、视图的操作,学会SQL Server 2000的查询分析器中用DDL语言进行对表、索引、视图的增加、删除和改动。

本次实验了解DML语言的INSERT、UPDATE、DELETE对数据的操作,学会SQL Server 2000的查询分析器中用DML语言对表中的数据进行插入、删除和修改。

3.1 数据定义1.熟悉基本表的创建、修改及删除。

Create Table 创建表Drop Table 删除表Alter Table 更改表2.熟悉索引的创建和删除。

Create Index 建立索引Drop Index 删除索引3.熟悉视图的创建和删除。

Create View 建立视图Drop View 删除视图3.2 数据操作1.完成各类更新操作(插入数据,修改数据,删除数据)。

Insert Into <表名> [(<属性列1>[,<属性列2>]…)] Values (<常量1>[,<常量2>]…);Update <表名> Set <列名>=<表达式>[,<列名>=<表达式>][,…n] [Where <条件>];Delete From <表名> [Where <条件>];3.3 视图的操作视图的定义(创建和删除),查询,更新(注意更新的条件)。

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

实验2 交互式SQL(参考答案,仅供参考,答案不唯一) 1.使用SQL语言创建下面的三个表create table Student(Sno varchar(7) primary key,Sname varchar(10) not null,Ssex varchar(2),Sage int,Sdept varchar(20))create table Course(Cno varchar(10) primary key,Cname varchar(20) not null,Ccredit int,Semster int,Period int)create table SC(Sno varchar(7),Cno varchar(10),Grade int ,XKLB varchar(4),primary key(Sno,Cno),foreign key(Sno) references Student(Sno),foreign key(Cno) references Course(Cno))2.在以上的三个表中,使用SQL语句插入下面的数据insert into Student values('9512101','李勇','男','19','计算机系');insert into Student values('9512102','刘晨','男','20','计算机系');insert into Student values('9512103','王敏','女','20','计算机系');insert into Student values('9521101','张立','男','22','信息系');insert into Student values('9521102','吴宾','女','21','信息系');insert into Student values('9521103','张海','男','20','信息系');insert into Student values('9531101','钱小平','女','18','数学系');insert into Student values('9531102','王大力','男','19','数学系');insert into Course values('C01','计算机文化基础',3,1,null);insert into Course values('C02','VB',2,3,null);insert into Course values('C03','计算机网络',4,7,null);insert into Course values('C04','数据库基础',6,6,null);insert into Course values('C05','高等数学',8,2,null);insert into Course values('C06','数据结构',5,4,null);insert into SC values('9512101','C01',90,'必修');insert into SC values('9512101','C02',86,'选修');insert into SC values('9512101','C06',62,'必修');insert into SC values('9512102','C02',78,'选修');insert into SC values('9512102','C04',66,'必修');insert into SC values('9512102','C01',82,'选修');insert into SC values('9512102','C05',92,'必修');insert into SC values('9512102','C06',50,'必修');insert into SC values('9512103','C02',68,'选修');insert into SC values('9512103','C06',62,'必修');insert into SC values('9531101','C01',80,'选修');insert into SC values('9531101','C05',95,'必修');insert into SC values('9531102','C05',85,'必修');3.创建索引(1)在Student表的Sname(姓名)列上建立一个唯一性降序索引;create unique index StuSname on Student(Sname desc)(2)在Course表的Semester (学期)列上建立一个升序索引;create index Course_Semester_Index on Course(Semster asc) (3)在SC表按学号升序和课程号降序建立唯一索引;create unique index SC_Sno_Cno_Index on SC(Sno asc,Cno desc) 4.修改表结构(1)将Student表的Sname列的长度修改为20;alter table Student alter column Sname varchar(20) not null(2)向Student表增加“入学时间”(Sentrance)列,其数据类型为日期型;alter table Student add Sentrance Datetime5.删除对象(注:先保存以上所写的SQL的情况下,再删除对象,以便能重新创建相上对象)(1)写出删除上面创建的索引的SQL;drop index Student.StuSname;drop index Course.Course_Semester_Index;drop index SC.SC_Sno_Cno_Index;(2)写出删除学生表、课程表和选课表的SQL;drop table SC;drop table Student;drop table Course;6.删除和修改记录(1)将选修C02课程的成绩增加1分;update SC set grade=grade + 1 where Cno= 'C02'(2)删除学号为9531102的学生选课记录;delete SC where Sno='9531102'(3)写出删除所有选课记录的SQL;delete SC7.根据上面的三种表,写出完成如下查询功能的SQL语句:(1)查询学生选课表中的全部数据;select * from SC(2)查询计算机系的学生的姓名、年龄;select Sname,Sage from Student where Sdept='计算机系'(3)查询成绩在80~90分之间的学生的学号、课程号和成绩;select Sno,Cno,grade from SC where grade>=80 and grade<=90 (4)查询信息系系年龄在20~23岁之间且性别为“男”的学生的姓名、年龄;select Sname,Sage from Student where Sdept='信息系' and (Sage between 20 and 23)(5)查询C01号课程成绩最高的分数;select MAX(grade) from SC where Cno='C01'(6)查询数学系学生的最大年龄和最小年龄;select Max(Sage) 最大年龄,Min(Sage) 最小年龄from Student where Sdept='数学系'(7)统计每个系的学生人数;select Sdept,Count(*) from Student group by Sdept(8)统计每门课程的修课人数和考试最高分;select Cno,Count(*),Max(grade) from SC group by Cno(9)统计每个学生的选课门数和考试总成绩,并按选课门数的递增顺序显示结果;select Sno,COUNT(*),SUM(grade) from SC group by Sno order by COUNT(*) ASC(10)查询总成绩超过250分的学生,要求列出学号、总成绩;select Sno,SUM(grade) from SC group by Sno havingSUM(grade)>250(11)查询选修了C03号课程的学生的学号和所在系;select S.Sno,S.Sdept from Student S,SC C where S.Sno=C.Sno ando='C03'(12)查询成绩在85分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果;select S.Sname,o,C.grade from Student S,SC C where S.Sno=C.Sno and C.grade>85 order by c.grade DESC(13)查询哪些课程没有人选修,要求列出课程号和课程名;方法一:select Cno,CName from Course where Cno not in (select Cno from SC)方法二:select o,ame from SC right outer join Course C on (o=o) where o is null方法三:select Cno,CName from Course where not exists(select * from SC where o=o)(14)查询既选修了C01又选修了C02号课程的学生的学号;方法一:select Sno from SC where Cno='C01' and Sno in (select Sno from SC where Cno='C02')方法二:select Sno from SC where Cno='C01' intersect select Sno from SC where Cno='C02' (注:交集)(15)查询选修了C01号课程的学生的姓名和所在系;select S.Sname,S.Sdept from Student S,SC C where S.Sno=C.Snoand o='C01'(16)查询数学系成绩在85分以上的学生的学号、姓名;select distinct S.Sno,S.Sname from Student S,SC C where S.Sno=C.Sno and S.Sdept='数学系' and C.grade>85(17)查询计算机系考试成绩最高的学生的姓名。

相关文档
最新文档