数据库技术及应用实验sql.docx

上传人:b****5 文档编号:29467690 上传时间:2023-07-23 格式:DOCX 页数:34 大小:84.76KB
下载 相关 举报
数据库技术及应用实验sql.docx_第1页
第1页 / 共34页
数据库技术及应用实验sql.docx_第2页
第2页 / 共34页
数据库技术及应用实验sql.docx_第3页
第3页 / 共34页
数据库技术及应用实验sql.docx_第4页
第4页 / 共34页
数据库技术及应用实验sql.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

数据库技术及应用实验sql.docx

《数据库技术及应用实验sql.docx》由会员分享,可在线阅读,更多相关《数据库技术及应用实验sql.docx(34页珍藏版)》请在冰豆网上搜索。

数据库技术及应用实验sql.docx

数据库技术及应用实验sql

实验步骤

利用企业管理器访问系统自带的数据库Northwind。

(1)启动SQLServer服务管理器。

(2)以系统管理员身份登录到企业管理器并访问Northwind数据库。

(3)在企业管理器的目录树中展开文件夹→展开Northwind数据库图标,则将列出该数据库的所有对象,如:

表、视图、存储过程、默认、规则等。

(4)选中Northwind下的“表”图标,将列出Northwind数据库所有的表(系统表和用户表),在此以用户Employees表为例,打开该表,查看其内容,得到的界面如图1所示。

图1.1通过企业管理器查看Northwind数据库的Employees表的内容

(5)在表的尾部试着插入一条记录,会发生什么情况?

(6)删除步骤(5)插入的记录。

1、利用查询分析器访问系统自带的数据库Northwind。

(1)启动SQLServer服务管理器;

(2)运行查询分析器;

(3)展开查询分析器对象浏览器目录树中的Northwind数据库图标,则将列出该数据库的所有对象,如:

表、视图、存储过程等,如图2所示。

图1-2查询分析器目录树

(4)以Northwind数据库的用户表Customers为例,选中该表的图标右击,弹出快捷菜单,执行“打开”菜单项,打开该表,查看其内容。

(5)在表的尾部插入一记录。

(6)在查询分析器的代码输入窗口,输入如下T-SQL语句:

USENorthwind

SELECT*

FROMCustomers

GO

看看执行结果是什么?

2、通过企业管理器和查询分析器查询pubs数据库中publishers、authors表的所有记录,并进行记录的插入和删除操作,然后比较一下操作方法。

 

实验2创建数据库和表

实验步骤

1、创建的产品销售数据库,数据库名为CPXS。

数据库CPXS包含下列3个表:

●产品表:

表名为CP,描述产品信息;

●销售商表:

表名为XSS,描述销售商信息;

●产品销售表:

表名为XSCP,描述产品的销售信息。

各表的结构分别如表2-1~表2-3所示。

表2-1产品表(CP)表结构

列名

数据类型

长度

是否允许为空值

说明

CPBH

字符型(char)

6

×

产品编号,主键

CPMC

字符型(char)

30

×

产品名称

JG

浮点型(float)

8

价格

KCL

整型(int)

4

库存量

表2-2销售商(XSS)表结构

列名

数据类型

长度

是否允许为空值

说明

XSBH

字符型(char)

6

×

销售商编号,主键

XSMC

字符型(char)

30

×

销售商名称

DQ

字符型(char)

10

地区

FZR

字符型(char)

8

负责人

DH

字符型(char)

12

电话

BZ

文本(text)

16

备注

表2-3产品销售(XSCP)表结构

列名

数据类型

长度

是否允许为空值

说明

CPBH

字符型(char)

6

×

产品编号,主键

XSBH

字符型(char)

6

×

销售商编号,主键

XSSJ

Datetime

8

×

销售时间

SL

整型(int)

4

×

数量

JE

浮点型(float)

8

×

金额

(1)在企业管理器中创建数据库CPXS

要求:

数据库CPXS初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按10%比例增长;日志文件初始为2MB,最大可增长到5MB(默认为不限制),按1MB增长(默认是按5%比例增长)。

数据库的逻辑文件名和物理文件名均采用默认值,分别为CPXS_data和e:

\sql\data\MSSQL\Data\CPXS.mdf,其中e:

\sql\data\MSSQL为SQLServer的系统安装目录;事务日志的逻辑文件名和物理文件名也均采用默认值,分别为CPXS_LOG和e:

\sql\data\MSSQL\Data\CPXS_Log.ldf。

以系统管理员或被授权使用CREATEDATABASE语句的用户登录SQLServer服务器,启动企业管理器→在服务器上单击鼠标右键→新建数据库→输入数据库名CPXS→选择“数据文件”选项卡→设置增长方式和增长比例→选择“事务日志”选项卡→设置增长方式和增长比例。

(2)在企业管理器中删除CPXS数据库

在企业管理器中选择数据库CPXS→在CPXS上单击鼠标右键→删除。

(3)使用T-SQL语句创建数据库CPXS

按照步骤

(1)的要求创建数据库CPXS。

启动查询分析器→在“查询”窗口中输入以下T-SQL语句:

CREATEDATABASEcpxs

ON

(NAME='CPXS_Data',

FILENAME='e:

\sql\data\MSSQL\Data\CPXS.mdf',

SIZE=10MB,

MAXSIZE=50MB,

FILEGROWTH=10%

LOGON

(NAME='CPXS_Log',

FILENAME='e:

\sql\data\MSSQL\Data\CPXS_Log.ldf',

SIZE=2MB,

MAXSIZE=5MB,

FILEGROWTH=1MB

GO

单击快捷工具栏的执行图标,执行上述语句,并在企业管理器中查看执行结果。

(4)在企业管理器中分别创建表CP、表XSS和表XSCP

在企业管理器中选择数据库CPXS→在CPXS上单击鼠标右键→新建→表→输入CP表各字段信息→将CPBH设为主键→单击保存图标→输入表名CP,即创建了表CP。

按同样的操作过程创建表XSS和表XSCP。

(5)企业管理器中删除表CP、表XSS和表XSCP

在企业管理器中选择数据库CPXS的表CP→在CP上单击鼠标右键→删除,即删除了表CP。

按同样的操作过程删除表XSS和表XSCP。

(6)使用T-SQL语句创建表CP、表XSS和表XSCP

启动查询分析器→在“查询”窗口中输入以下T-SQL语句:

USEcpxs

CREATETABLECP

(CPBHchar(6)NOTNULLPRIMARYKEY,

CPMCchar(30)NOTNULL,

JGfloatNULL,

KCLintNULL

GO

单击快捷工具栏的执行图标,执行上述语句,即可创建表CP。

2、按同样的操作过程创建表XSS和表XSCP,请读者自己写出相应的SQL语句,并在企业管理器中查看结果。

实验3数据插入、修改和删除

实验步骤

分别使用企业管理器和T-SQL语句,在数据库CPXS的3个表CP、表XSS和表XSCP中插入多行数据记录,然后修改和删除一些记录。

使用T-SQL进行有限制的修改和删除。

1.在企业管理器中插入数据库CPXS表数据

(1)在企业管理器中向表CP中加入如表3-1所示的记录。

在企业管理器中选择表CP→在其上单击鼠标右键→选择“返回所有行”→逐字段输入各记录值,输入完后,关闭表窗口。

表3-1CP表数据

CPBH

CPMC

JG

KCL

100001

彩色电视机

3000.0

10

100002

洗衣机

1200.0

20

100003

冰箱

1800.0

12

100004

电热水器

2000.0

30

100005

太阳能热水器

2200.0

8

100006

1匹空调

1800.0

5

100007

1.5匹空调

2400.0

20

100008

2匹空调

3800.0

6

100009

音响

3500.0

3

100010

台式电脑

6000.0

5

100011

MP3

900.0

10

100012

复读机

200.0

20

(2)在企业管理器向表XSS中插入如表3-2所示的记录:

表3-2XSS表数据

XSBH

XSMC

DQ

FZR

DH

BZ

000001

广电公司

南京

张三

111111111

NULL

000002

家电市场

无锡

李四

222222222

NULL

000003

电器商场

上海

王五

333333333

NULL

000004

小家电商场

南京

赵六

666666666

NULL

(3)在企业管理器中向表XSCP中插入如表3-3所示的记录:

表3-3XSCP表数据

CPBH

XSBH

XSSJ

SL

JE

100001

000001

2004-03-10

1

3000.0

100001

000003

2004-05-20

2

6000.0

100002

000001

2004-03-12

1

1200.0

100002

000002

2004-02-22

2

2400.0

100002

000003

2004-05-29

3

3600.0

100010

000004

2004-06-01

5

4500.0

2.在企业管理器中修改数据库CPXS表数据

(1)在企业管理器中删除CP表的第10行和表XSS的第2行。

在企业管理器中选择表CP→在其上单击鼠标右键→选择“返回所有行”→选择要删除的行→单击鼠标右键→删除→关闭表窗口。

(2)在企业管理器中删除XSCP表的第6行,同时也要删除XSCP表的第4行,以保持数据完整性。

操作方法同

(1)。

(3)在企业管理器中将CP表中CPBH为100005的价格改为2000。

在企业管理器中选择表CP→在其上单击鼠标右键→选择“返回所有行”→将光标定位至CPBH为100005的记录的JG字段,将值2200改为2000。

3.使用T-SQL命令修改数据库CPXS表数据

(1)使用T-SQL命令分别向CPXS数据库的CP表、XSS表和XSCP表中插入一行记录。

启动查询分析器→在“查询”窗口中输入以下T-SQL语句:

USEcpxs

INSERTINTOcp

VALUES('100013','燃气热水器',1500,10)

GO

INSERTINTOxss

VALUES('000005','JL电器销售部','苏州','朱平平','88888888',NULL)

GO

INSERTINTOxscp

VALUES('100013','000005','2004-7-20',2,3000)

GO

单击快捷工具栏的执行图标,执行上述语句。

在企业管理器中分别打开CPXS数据库的CP表、XSS表和XSCP表,观察数据变化。

(2)使用T-SQL命令修改表CP中的某个记录的字段值。

启动查询分析器→在“查询”窗口中输入以下T-SQL语句:

USEcpxs

UPDATEcp

SETjg=1800

WHEREcpbh='100013'

GO

单击快捷工具栏的执行图标,执行上述语句。

(3)在企业管理器中分别打开CPXS数据库的CP表,观察数据变化。

(4)在查询分析器中输入T-SQL语句,将编号为011112的职工收入改为2890。

(5)修改表XSS和表XSCP的记录值,要注意数据的完整性。

操作过程同

(2)。

(6)使用T-SQL命令修改表CP中的所有记录的字段值:

将所有商品价格增加100。

启动查询分析器→在“查询”窗口中输入以下T-SQL语句:

USEcpxs

UPDATEcp

SETjg=jg+100

GO

单击快捷工具栏的执行图标,执行上述语句。

(7)输入以下T-SQL语句,观察数据变化:

SELECT*FROMcp

(8)使用TRANCATETABLE语句删除表中所有行。

启动查询分析器→在“查询”窗口中输入以下T-SQL语句:

USEcpxs

TRANCATETABLEcp

GO

单击快捷工具栏的执行图标,执行上述语句,将删除CP表中的所有行。

注意:

实验时一般不要轻易做这个操作,因为后面实验还要用到这些数据。

如要试验该命令的效果,可建一个临时表,输入少量数据后进行。

3、自定义数据库结构,创建数据库TEST,包含数据表t1和t2(字段自定义),然后向t1表和t2表中输入若干行数据,最后使用TRANCATETABLE语句删除表中所有行。

实验4数据库查询

实验步骤

使用T-SQL的SELECT查询语句,在数据库CPXS的CP表、XSS表和XSCP表进行各种查询,包括单表查询、连接查询、嵌套查询,并进行数据汇总以及使用GROUPBY子句、ORDERBY子句对查询结果进行分组和排序处理。

1.SELECT语句的基本使用

以下的所有查询都在查询分析器中执行,在查询分析器中将当前数据库设为CPXS。

(1)查询每种产品的所有数据。

•在查询分析器的输入窗口输入如下的语句并执行:

SELECT*

FROMcp

•用SELECT语句查询XSS表和XSCP表的所有记录。

(2)查询每种产品的价格和库存量。

•在查询分析器的输入窗口输入如下的语句并执行:

SELECTJG,KCL

FROMcp

•用SELECT语句查询XSS表和XSCP表的一列或若干列。

(3)查询XSBH为000001的销售商的地区和电话。

•在查询分析器的输入窗口输入如下的语句并执行:

SELECTDQ,DH

FROMxss

WHEREXSBH=’000001’

•用SELECT语句查询CP表和XSCP表中满足指定条件的一列或若干列。

(4)查询XSS表中的XSBH为000001的销售商的地区和电话,使用AS子句将结果中各列的标题分别指定为地区、电话。

•在查询分析器的输入窗口输入如下的语句并执行:

SELECTDQAS地区,DHAS电话

FROMxss

WHEREXSBH=’000001’

•查询CP表中的CPBH为100006的产品的价格和库存量,使用AS子旬将结果中各列的标题分别指定为价格、库存量。

(5)计算所有产品的总价值。

•在查询分析器的输入窗口输入如下的语句并执行:

SELECTCPBH,总价值=JG*KCL

FROMcp

•计算所有产品的总库存量。

(6)找出所有名称中含“电”的产品的编号和价格。

•在查询分析器的输入窗口输入如下的语句并执行:

SELECTCPBH,JG

FROMcp

WHERECPMCLIKE’%电%’

•找出所有名称中含“家电”的销售商的编号和地区。

(7)找出所有价格在1500~2800之间的产品编号和产品名称。

•在查询分析器的输入窗口输入如下的语句并执行:

SELECTCPBH,CPMC

FROMcp

WHEREJGBETWEEN1500AND2800

•找出所有库存量在10(含10)以上的产品编号和产品名称。

2.连接查询

(1)查询每种产品的情况以及其销售的情况。

•在查询分析器的输入窗口输入如下的语句并执行:

SELECTCP.*,XSCP.*

FROMcp,xscp

WHEREcp.CPBH=xscp.CPBH

•查询每个销售商的情况以及其销售产品的情况。

(2)查找价格在2000及以上的产品名称及其销售情况。

•在查询分析器的输入窗口输入如下的语句并执行:

SELECTCPMC,XSMC,XSSJ,SL,JE

FROMcp,xscp,xss

WHEREcp.CPBH=xscp.CPBHANDxss.XSBH=xscp.XSBHANDJG>=2000

•查找库存量在10及以上的产品名称及其销售情况。

(3)查询在2004年7月1日以前销售的产品名称及其销售情况。

在查询分析器的输入窗口输入如下的语句并执行:

SELECTCPMC,XSMC,XSSJ,SL,JE

FROMcp,xscp,xss

WHEREcp.CPBH=xscp.CPBHANDxss.XSBH=xscp.XSBHANDXSSJ<=’20040701’

3.嵌套查询

(1)查找与“广电公司”在同一地区的销售商的情况。

在查询分析器的输入窗口输入如下的语句并执行:

 

SELECT*

FROMxss

WHEREDQ=

(SELECTDQ

FROMxss

WHEREXSMC='广电公司')

(2)查找销售了“彩色电视机”产品的销售商名称。

在查询分析器的输入窗口输入如下的语句并执行:

SELECTXSMC

FROMxss

WHEREEXISTS

(SELECT*

FROMxscp,cp

WHEREXSBH=xss.XSBHANDxscp.CPBH=cp.CPBH

ANDCPMC='彩色电视机')

(3)查找出售了所有000001销售商所出售的全部产品的销售商名称。

在查询分析器的输入窗口输入如下的语句并执行:

SELECTXSMC

FROMxss

WHEREXSBHIN

(SELECTXSBH

FROMxscpxscp1

WHERENOTEXISTS

(SELECT*

FROMcscpASxscp2

WHERExscp2.XSBH=’000001’ANDNOTEXISTS

(SELECT*

FROMxscpxscp3

WHERExscp2.XSBH=xscp1.XSBH

ANDxscp3.CPBH=xscp2.CPBH)))

 

(4)查找未销售“台式电脑”产品的销售商情况。

•在查询分析器的输入窗口输入如下的语句并执行:

SELECT*

FROMxss

WHEREXSBHNOTIN

(SELECTXSBH

FROMxscp

WHERECPBH=

(SELECTCPBH

FROMcp

WHERECPMC=’台式电脑’))

 

•查询未销售任何产品的销售商名称。

4.数据汇总

(1)求所有产品的平均价格。

在查询分析器的输入窗口输入如下的语句并执行:

SELECTAVG(JG)AS‘产品平均价格’

FROMcp

(2)查询产品的最高价格和最低价格。

在查询分析器的输入窗口输入如下的语句并执行:

SELECTMAX(JG)AS‘产品最高价格’,MIN(JG)AS‘产品最低价格’

FROMcp

(3)求地区为南京的总销售商数。

•在查询分析器的输入窗IZl输入如下的语句并执行:

SELECTCOUNT(XSBH)

FROMxss

WHEREDQ=’南京’

•统计销售商总数。

(4)统计销售总值。

•在查询分析器的输入窗口输入如下的语句并执行:

SELECTAVG(JE)AS‘销售总值’

FROMxscp

•统计2004年1月1日以来的销售总值。

5.GROUPBY、ORDERBY子句的使用

(1)查询各地区的销售商数。

在查询分析器的输入窗口输入如下的语句并执行:

SELECTDQ,COUNT(XSBH)

FROMxss

GROUPBYDQ

(2)求被销售产品的名称和销售该种产品的销售商数。

在查询分析器的输入窗口输入如下的语句并执行:

SELECTCPMCAS‘产品名称,COUNT(XSBH)AS‘销售商数’

FROMxscp,cp

GROUPBYCMPC

(3)将各产品的情况按价格由低到高排列。

在查询分析器的输入窗口输入如下的语句并执行:

SELECT*

FROMcp

ORDERBYJG

(4)将各产品的情况按总值由低到高排列。

在查询分析器的输入窗口输入如下的语句并执行:

SELECT*

FROMcp

ORDERBYJG*KCL

(5)将各销售商按总销售额值由低到高排序。

在查询分析器的输入窗口输入如下的语句并执行:

SELECTXSBH,SUM(JE)

FROMxscp

GROUPBYXSBH

ORDERBYSUM(JE)

实验5T-SQL编程

实验步骤

(1)对于产品销售数据库CPXS,首先自定义一数据类型,用于描述产品编号和销售商编号。

在查询分析器编辑窗口输入如下程序并执行:

USEcpxs

EXECsp_addtype‘id_type’,’int’,’notnull’

G0

注意:

不能漏掉单引号。

(2)通过SQL语句新定义3个表:

产品表:

表名为CPl,描述产品信息;

销售商表:

表名为XSSl,描述销售商信息;

产品销售表:

表名为XSCPl,描述产品的销售信息。

各表结构如表5—1~表5—3所示。

表5-1CPl表结构

列名

数据类型

长度

是否为空

说明

CPBH

CPMC

JG

KCL

自定义类型(id-typel

字符型(char)

浮点型(float)

整型(int)

同int

30

8

4

×

×

产品编号,系统自动编码,主键

产品名称

价格

库存量

表5-2XSSl表结构

列名

数据类型

长度

是否为空

说明

XSBH

XSMC

DQ

FZR

DH

BZ

自定义类型(id-type)

字符型(char)

字符型(char)

字符型(char)

字符型(char)

文本(text)

同int

30

10

8

12

16

×

×

销售商编号,系统自动编码,主键

销售商名称

地区

负责人

电话

备注

表5-3XSCPl表结构

列名

数据类型

长度

是否为空

说明

CPBH

XSBH

XSSJ

SL

JE

自定义类型(id-typel

自定义类型(id-typel

Datetime

整型(int)

浮点型(float)

同int

同int

8

4

8

×

×

×

×

×

产品编号,与CPl表中CPBH字段对应,

销售商编号,与XSSl表中XSBH字段对应,

CPBH与XSBH组合构成主键

销售时间

数量

金额

在查询分析器编辑窗口输入如下程序并执行:

USEcpxs

IFEXISTS(SELECTnameFROMsysobjects

WHEREtype=‘U’ANDname=’cpl’)

DROPTABLEcp1

/*首先在系统表中查看是否有cp1表存在,若存在,删除该表*

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1