数据库实验报告全
实验⼀
实验⽬的
1.熟悉SQL Server Management Studio(SSMS)的⼯作环境
2.掌握使⽤和命令建⽴数据库的⽅法
3.熟练掌握使⽤SSMS和T-SQL语句创建、修改和删除表。
4.熟练掌握使⽤SSMS和T-SQL语句插⼊、修改和删除表数据。
实验内容
1.采⽤SQL Server Management Studio 、T-SQL语句两种⽅式创建产品销售数据库,
要求:
sql语句替换表中内容1)使⽤SSMS创建数据库CPXS_bak,数据⽂件初始⼤⼩为5MB,最⼤⼤⼩
50MB,按5MB增长;⽇志⽂件初始为2MB,最⼤可增长到10MB,按2MB
增长;其余参数取默认值。
2)⽤T-SQL语句创建数据库CPXS,数据⽂件的增长⽅式改为增长⽅式按10%
⽐例增长,其余与CPXS_bak。
3)⽤T-SQL语句删除数据库CPXS_bak。
2.CPXS数据库包含如下三个表:
1)产品(产品编号,产品名称,价格,库存量)
2)客户(客户编号,客户名称,地区,负责⼈,电话)
3)销售(产品编号,客户编号,销售⽇期,数量,销售额)
三个表结构如资料中图3.1~图3.3所⽰,请写出创建以上三个表的T-SQL语句并在查询分析器中运⾏。
3.在SSMS中输⼊如资料中图3.4~图3.6的商品表、客户表和销售表的样本数据。
6.将CP表中每种商品的价格打8折。
7.将CP表中价格打9折后⼩于1500的商品删除。
⼆.实验步骤与结果
(说明:要写出相关步骤和SQL语句,实验结果可以是运⾏画⾯的抓屏,抓屏图⽚要尽可能
的⼩。)
1.1)使⽤SSMS创建数据库CPXS_bak效果图为
2)⽤T-SQL语句创建数据库CPXS:
CREATE DATABASE CPXS
ON PRIMARY
(NAME='CPXS_DATA',
FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_DATA.MDF', SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=10%)
LOG ON
(NAME='CPXS_LOG',
FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_LOG.LDF', SIZE=2MB,
MAXSIZE=10MB,
FILEGROWTH=2MB)
3) DROP DATABASE CPXS_bak
刷新数据库会看到CPXS_bak不存在
2.1) USE CPXS
GO
CREATE TABLE产品
(产品编号char(6)PRIMARY KEY,
产品名称char(30)NOT NULL,
价格float(8),库存量int,)
2) USE CPXS
GO
CREATE TABLE客户
(客户编号char(6)PRIMARY KEY,
客户名称char(30)NOT NULL,
地区char(10),负责⼈char(8),
电话char(12))
3)USE CPXS
GO
CREATE TABLE销售
(产品编号char(6),客户编号char(6),
销售⽇期datetime,数量int NOT NULL,
销售额float(8)NOT NULL,
CONSTRAINT pk_js PRIMARY KEY(产品编号,客户编号,销售⽇期))/*pk_js为约束名*/ 执⾏完上⾯的操作就能看见表已经添加进数据库中,如图所⽰:
3. 打开表:在其中添加数据:
4.1)USE CPXS
INSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200001','柜式空调','3000','200')
2)USE CPXS
INSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200002','微波炉','1000','100')
3)USE CPXS
INSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200003','抽油烟机','1200','50')
可以看见图中的产品表增加了如下内容:
5.USE CPXS
ALTER TABLE产品
Add产品简列varchar(50)
6. USE CPXS
UPDATE产品
set价格=价格*0.8
7. USE CPXS
DELETE产品
WHERE价格*0.9<1500
三.实验中的问题及⼼得
(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。)本次实验的问题都很简单,没有遇到什么困难,基本上书上都有例⼦,对着例⼦都能顺利完成,不过我需要做的是记者所写的sql语句还有就是要继续努⼒。
实验⼆
⼀实验⽬的
1.牢记SELECT 语句的基本语法格式;
2.掌握利⽤SQL语句进⾏多表内/外连接查询和嵌套查询的⽅法;
3.掌握GROUP BY⼦句、HA VING⼦句、ORDER BY⼦句的⽤法;
4.掌握(NOT)IN、(NOT)EXISTS等谓词的⽤法;
5.掌握SUM、A VG、COUNT、MAX、MIN等集合函数的⽤法;
⼆实验内容及要求
对CPXS数据库,完成如下查询任务:
根据上述情况完成:
1.查询地区在“郑州”的客户编号和客户名称,结果中各列的标题分别指定为:
CustomerID和CustomerName。
2.查询价格在1000-2000之间的产品信息。
3.查询产品名称含有“变频”字样的产品情况。
4.按商品编号统计各种产品在国庆黄⾦周期间的销售单数(记录数)、总销量和销售总额,并对统计结果按照销售总额降序排序。
5.列出购买2种以上产品的客户编号。
6.(结合上题)列出购买2种以上产品的客户编号、客户名称、地区、负责⼈和电话。
7.统计每个客户在国庆黄⾦周期间的购物情况(客户编号、名称、消费总⾦额和最近消费⽇期),即使某些客户没有消费记录,也要包括其信息。
8.查询在国庆黄⾦周期间没有任何销售记录的产品编号、名称及库存量。
三实验过程及结果
1.
2.
3.
4.USE CPXS
SELECT a.产品编号,
count(a.销售⽇期)AS销售单数,sum(a.数量)AS总销量,sum(a.数量*b.价格)AS销售总额FROM销售a INNER JOIN产品b
ON a.产品编号=b.产品编号
GROUP BY a.产品编号
ORDER BY销售总额desc
5.
6.
www.doczj/doc/654276fbc8d376eeaeaa3178.html E CPXS
SELECT
c.客户编号,客户名称,
sum(a.数量*b.价格)AS消费总额,max(a.销售⽇期)AS最近消费⽇期
FROM客户c LEFT JOIN销售a
ON c.客户编号= a.客户编号
JOIN产品b
ON a.产品编号=b.产品编号
GROUP BY客户名称,c.客户编号
8.
四实验中的问题及⼼得
这次试验较上次的困难⾸先是我们上课的时候没有讲所做的内容,这就需要我们在下⾯好好地预习,时间仓促,在放假之前也做了⼀部分,其余的就放假后完成了,其中也出此不少问题⼤都是马虎的问题。
实验三
⼀实验⽬的
6.熟练掌握变量的定义、赋值与使⽤。
7.熟练掌握常⽤基本运算符。
8.熟练掌握流程控制语句,尤其是条件语句和循环语句。
9.熟悉并掌握常⽤的系统函数。
10.理解什么是标量函数、内嵌表值函数及多语句表值函数。
11.熟练掌握⾃定义函数的定义和调⽤⽅法。
⼆实验内容及要求
对CPXS数据库,完成如下任务:
9.创建⼀名为CustomerName的局部变量,并在SELECT语句中使⽤该变量查“客
户D”购买产品的情况(包括产品名称、单价)。
10.⽤T-SQL语⾔编程输出3~300之间能被7整除的数。
11.查询CP表中各种产品的产品编号、产品名称和价格,对其价格按以下规则进⾏转
换:若价格⼩于1000,替换为“廉价产品”;若价格在1000-2000之间,替换为“⼀般产品”;若价格⼤于2000⼩于5000,替换为“昂贵产品”;若价格⼤于5000,替换为“奢侈品”;列标题更改为“评价”。
12.使⽤系统函数,计算今天距“2012-1-1”还剩多少天。
13.根据产品编号,查询该产品的名称;(函数名为udf_GetCPName)
14.根据客户编号,统计其在某个时期内所购买的商品名称、数量及⾦额(函数名为
udf_GetCPListByCID);对函数udf_GetCPListByCID,查询“客户A”在“2011-1-1”
到“2011-9-30”期间交易的销售⽇期、产品名称、销售数量和销售⾦额,并按销售⽇期升序排序。
三实验过程及结果
1.
use CPXS
declare @CustomerName char(10)
set @CustomerName='客户D'
SELECT 产品.产品名称,产品.价格
FROM 产品,销售
WHERE 产品.产品编号=销售.产品编号 and 销售.客户编号=(
SELECT 客户编号
FROM 客户
WHERE 客户名称=@CustomerName)
2.
--⽤T-SQL语⾔编程输出3~300之间能被7整除的数。--
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论