精选数据库实验报告一_第1页
精选数据库实验报告一_第2页
精选数据库实验报告一_第3页
精选数据库实验报告一_第4页
精选数据库实验报告一_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精选数据库实验报告一广西大学2023数据库原理实验报告学号:1207300122姓名:罗金雄专业班级:计网121班指导老师:顾平成绩:实验一SQLServer的安装及环境介绍实验目的掌握SQLServer效劳器的安装方法〔安装版本为SQLServer2023〕。了解SQLServer效劳器的环境实验要求1.完成SQLServer的安装、启动。实验内容安装SQLServer。实验步骤〔1〕下载SQLServer2023集成包并解压,运行后出现“SQLServer安装中心〞。在左侧的目录树中选择“安装〞。〔2〕在右侧的选择项中,选择第1工程“全新安装或向现有安装添加功能〞,然后就进入了安装程序。〔3〕输入产口密钥,许可条款,安装程序支持文件。〔4〕接下来,才是正式安装SQLServer程序。这个步骤看起来跟刚刚在准备过程中的一样,都是扫描本机,防止在安装过程中出现异常。现在并不是在重复刚刚的步骤,从以下图明显看出这次扫描的精度更细,扫描的内容也更多。〔5〕功能选择。勾选全部的安装组件,方便以后使用。〔6〕实例配置。我们这里安装一个默认实例。〔7〕效劳账户配置。〔8〕数据库引擎配置。〔9〕之后的配置无需改动,一路下一步即可,等待安装成功。请你练习如果在安装时设置身份验证模式为混合模式,那SQLServer默认生成的系统管理员账户名是?答:系统管理员账户名saSQLServer2023中有哪几种身份验证模式?答:Windows身份、SQlServer和Windows身份验证模式3.什么是实例、默认实例和命名实例?在一台计算机上是否可以安装多个实例?答:“实例〞,就是一个SQLServer数据库引擎。一台计算机上最多只有一个默认实例,也可以没有默认实例,默认实例名与计算机名相同。“命名实例〞就是自己使用这自己命名的事例。客户端连接命名实例时,必须使用以下计算机名称与命名实例的实例名组合的格式。SQLServer支持在同一台计算机上同时运行多个SQLServer数据库引擎实例。分析与讨论:1、程序运行出错,登录用户‘sa’无法连接数据库解决方案:翻开数据库企业管理器--展开sqlserver组--右键〔local〕数据库属性---平安性---身份验证选sqlserver和Windows身份验证模式---确定2、数据库选择的是默认位置,要改变路径,右键——属性——数据库设置,填写路径保存即可。实验二SQLServer常用管理工具和使用实验目的1.理解效劳的概念,掌握SQLServer效劳的启动、暂停和停止。2.熟悉SQLServer配置管理工具的使用,掌握使用管理工具查看数据库信息的方法。3.掌握帮助文档的使用实验要求1.使用多种方法启动、暂停和停止SQLServer效劳。2.使用管理工具查看当前数据库信息。实验内容1. 启动、暂停和停止SQLServer效劳。2. 查看帮助文档实验步骤与结果实验步骤〔1〕依次〞计算机〞——“管理〞——“效劳和应用进程〞——“效劳〞,翻开效劳项〔2〕找到一项名为“SQLServer(MSSQLSERVER)〞的效劳,查看其描述和状态。〔3〕停止该效劳。〔4〕启动该效劳。〔5〕暂停该效劳。〔6〕恢复该效劳。〔7〕在SQLServer配置管理器中尝试重复上述操作。〔8〕在SQLServer配置管理器中还可以查看到SQLServer效劳占用的端口和本机IP地址。点击左侧“MSSQLSERVER的协议〞选择“TCP/IP〞,然后选择IP地址选项卡。可以看到端口号。〔9〕使用命令NET管理MSSQLSERVER效劳。停止效劳。命令:NETSTOPMSSQLSERVER〔10〕启动效劳。命令:NETSTARTMSSQLSERVER〔11〕暂停效劳。命令:NETPAUSEMSSQLSERVER〔12〕重新开启效劳。命令:NETCONTINUEMSSQLSERVER〔9〕~〔12〕截图如下:请你练习上网查找在osql命令的作用和使用方法,并使用该命令登录SQLServer查看版本。OSQL—?命令可查看osql命令的用法*通过命令可知该数据库版本为SQL202311.0NTx64上图列举了OSQL的一些常用命令。分析与讨论:SQLserver的应用进程我效劳会有多个,尤其是效劳,停止或暂停了某些应用进程和效劳,都可能是数据库无法正常的使用,所以不要停止相关进程和效劳。实验三创立数据库实验目的1. 掌握在图形界面下创立数据库的方法。2. 掌握使用SQL语句创立数据库的方法。3. 熟悉SQLServerManagementStudio的环境。实验要求1.熟练使用两种方法创立数据库。实验内容创立数据库。实验步骤和结果:〔路径选择本机系统默认的路径〕〔1〕明确需求。〔2〕使用向导创立上诉描述的数据库。〔3〕单击“连接〞按钮,便可以进入【SQLServerManagementStudio】窗口。〔4〕在“数据库〞节点上右击,弹出如以下图所示的快捷菜单,选择“新建数据库〞命令。〔5〕在“常规〞数据页的“数据库名称〞文本框中,输入要创立的数据库名称和其他属性信息。〔6〕单击“确定〞。数据库建立成功。〔7〕使用T-SQL语言创立数据库。需求:使用查询分析器新建一个数据库,名称为“LIB〞,其主要数据文件大小为4M,最大文件大小为10M,每次增长2M;次要数据文件大小为1M;日志文件大小为1M;三个文件的文件名自定,上述没有说明的选项都采用默认值。〔8〕点击“新建查询〞,键入SQL语句。CREATE

DATABASELIBON(NAME

=

bdata1,FILENAME

=’C:\ProgramFiles\MicrosoftSQLServer\MSSQL11.MSSQLSERVER\MSSQL\DATA\bdata3.mdf',SIZE

=

2,MAXSIZE

=

10,

FILEGROWTH

=

2

),(

NAME

=bdata2,

FILENAME

=

‘C:\ProgramFiles\MicrosoftSQLServer\MSSQL11.MSSQLSERVER\MSSQL\DATA\bdata4.ndf',

SIZE

=

1

)

LOG

ON

(

NAME

=blog,

FILENAME

=’

C:\ProgramFiles\MicrosoftSQLServer\MSSQL11.MSSQLSERVER\MSSQL\DATA\blog.ldf',SIZE

=

1

)〔9〕点击“执行〞执行以上代码后发现以下问题:CREATEDATABASE语句失败。主文件必须至少是5MB才能容纳model数据库的副本。将主文件大小改为5M后,再执行,提示命令功能执行成功请你练习熟悉SQL语言建库的语法。创立一个test数据库,其主数据文件逻辑名test_data,物理文件名test_data.mdf,初始大小10MB,最大尺寸为无限大,增长速度1MB;数据库日志文件逻辑名称为test_log,物理文件名为test_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为10%。自行查找删除数据库T-SQL语句。删除语句为:dropdatabasetext,其中text为数据库的名称分析与讨论:1、题目中要求数据库主文件的初始大小位4,运行后出现问题:CREATEDATABASE语句失败。主文件必须至少是5MB才能容纳model数据库的副本。所以要把主文件的厨师大小改为5MB,其他条件可以不变,即可执行成功。2、因为数据库的路径选择的是安装的默认路径,所以对练习中文件的路径也要做相应的改变,即要修改为本数据库默认的路径。否那么无法创立数据库成功。实验四管理数据库实验目的进一步熟练企业管理器和查询分析器的使用。掌握附加和别离数据库的方法。熟悉数据库的更名。掌握数据库的删除。实验要求使用T-SQL语句创立和修改数据库。掌握其他常用的数据库管理操作。实验内容使用T-SQL语句修改数据库。其他数据库管理操作。实验目的进一步熟练企业管理器和查询分析器的使用。掌握附加和别离数据库的方法。熟悉数据库的更名。掌握数据库的删除。实验要求使用T-SQL语句创立和修改数据库。掌握其他常用的数据库管理操作。实验内容使用T-SQL语句修改数据库。其他数据库管理操作。实验步骤建库需求。创立一个名为“Test〞数据库。主要数据文件:逻辑文件名为TestData1,实际文件名为TestData1.mdf;初始容量为5MB,最大容量为10MB,递增量为1MB。次要数据文件:逻辑文件名为TestData2,实际文件名为TestData2.ndf;初始容量为1MB,最大容量为10MB,递增量为1MB。事务日志文件:逻辑文件名为TestLog,实际文件名为TestLog.ldf;初始容量为1MB,最大容量为5MB,递增量为1MB。修改需求。按照下面的要求修改数据库Test。主要数据文件的容量为2MB,最大容量为20MB,递增量为2MB。次要数据文件的容量为2MB,最大容量为20MB,递增量为2MB。事务日志文件的容量为2MB,最大容量为10MB,递增量为2MB。〔3〕启动“企业管理器〞,在控制面板的“树形目录〞中选择“数据库〞节点,单击鼠标右键,在弹出菜单中选择“新建数据库〞命令,出现“数据库属性〞对话框。〔4〕设置常规选项卡:在“名称〞文本框中输入数据库名称“Test〞;〔5〕设置数据文件选项卡:在文件名字段中输入数据文件逻辑文件名“TestData1〞;设置该文件初始大小为1MB;标记“文件属性〞栏下的“文件自动增长〞复选框,并选中“按兆字节〞设置文件容量递增值为1。在“最大文件大小〞对话框中选择“将文件增长限制为(MB)〞为10。同样,在第二行输入次要数据文件信息,并进行相应设置。设置事务日志选项卡:在文件名字段中输入数据文件逻辑文件名“TestLog〞;设置该文件初始大小为1MB,标记“文件属性〞栏下的“文件自动增长〞复选框,并选中“按兆字节〞设置文件容量递增值为1;在“最大文件大小〞对话框中,选择“将文件增长限制为(MB)〞为5。〔6〕单击“确定〞按钮,完成数据库的创立。〔7〕在“树状目录窗格〞中,选择新建的数据库“Test〞,单击鼠标右键,在弹出菜单中选择“属性〞命令,翻开数据库属性窗口;〔8〕选择数据文件选项卡,在其中将主要数据文件和次要数据文件的容量改为2MB,最大容量改为20MB,递增量改为2MB。〔9〕选择事务日志选项卡,在其中将事务日志文件的容量改为2MB,最大容量改为10,递增量改为2。〔10〕使用Transact-SQL语句创立和修改数据库。〔11〕修改数据库〔12〕点击“执行〞,执行修改。〔13〕在“树状目录窗格〞中,选择新建的数据库“Test〞,单击鼠标右键,在弹出菜单中选择“属性〞命令,翻开数据库属性窗口,查看更新是否已执行。〔14〕重命名数据库。选择数据库“Test〞,单击鼠标右键,在弹出菜单中选择“重命名〞命令〔15〕别离数据库。〔16〕别离数据库准备就绪后,请单击“确定〞。〔17〕右键单击“数据库〞,然后单击“附加〞〔18〕单击“确定〞,附加数据库。〔19〕删除数据库。选择数据库“Test〞,单击鼠标右键,在弹出菜单中选择“删除〞命令。然后在弹出的窗口中勾选“关闭现有连接〞请你练习认真完本钱节数据库管理的相关练习,自己制定需求,然后按“建立-修改-重命名-别离-附加-删除〞顺序操作。建立:修改:ALTERDATABASETestMODIFYFILE(NAME=TestData1,SIZE=7,MAXSIZE=20,FILEGROWTH=2)GOALTERDATABASETestMODIFYFILE(NAME=TestData2,SIZE=7,MAXSIZE=20,FILEGROWTH=2)GOALTERDATABASETestMODIFYFILE(NAME=TestLog,SIZE=3,MAXSIZE=10,FILEGROWTH=2)GO重命名:别离:附加:删除:2.查询“别离〞和“附加〞操作的T-SQL命令分别是什么?别离:EXECsp_detach_dbDatabaseName附加:CREATEDATABASEdatabasenameON(FILENAME='C:\Database\dbname.mdf')----路径和名称FORATTACH|FORATTACH_REBUILD_LOG分析与讨论:1、在64位和32位环境中,SQLServer磁盘存储格式均相同。

因此,可以将32位环境中的数据库附加到64位环境中,反之亦然。

从运行在某个环境中的效劳器实例上别离的数据库可以附加到运行在另一个环境中的效劳器实例。2、别离数据库是指将数据库从SQLServer实例中删除,但使数据库在其数据文件和事务日志文件中保持不变。之后,就可以使用这些文件将数据库附加到任何SQLServer实例,包括别离该数据库的效劳器。如果存在以下任何情况,那么不能别离数据库:已复制并发布数据库。如果进行复制,那么数据库必须是未发布的。必须通过运行sp_replicationdboption禁用发布后,才能别离数据库3、附加数据库时,所有数据文件〔MDF文件和NDF文件〕都必须可用。

如果任何数据文件的路径不同于首次创立数据库或上次附加数据库时的路径,那么必须指定文件的当前路径。实验五表的创立实验目的熟练掌握用Transact-SQL语句创立根本表的方法。熟练掌握根本表的特性。了解SQLServer的根本数据类型。使用SSMS管理平台创立根本表。实验要求熟练使用企业管理器创立和删除根本表。是用查询分析器,完成用SQL语句创立和删除根本表。实验内容创立、删除根本表。实验步骤〔1〕翻开企业管理器。〔2〕选择一个创立好的数据库test,单击数据库中的表对象,然后右击窗口右侧选择新建表〔3〕在这个窗体中,列名列表示表的字段名,可以在这个窗体中为字段选择数据类型和长度以及是否可以为空值。〔4〕在“id〞数据项上设置主键。右键单击该数据项选择“设置主键〞〔5〕设置自动增长后,插入输入时可以不填主键,主键可以自动生成〔6〕填完正在创立表的其他信息,单击工具栏上的保存图标,输入表的名称〔7〕输入表的名称后,单击确定系统会创立表〔8〕在查询分析器中利用SQL语句创立表。点击“新建查询〞。〔9〕在查询窗体中输入创立表的T-SQL语句。〔10〕单击工具栏上的图标按钮,执行分析查询,以检查输入的SQL语句是否存在语法错误。〔11〕创立一个更为复杂的学生表,引入SQLServer创立表的更多特性〔12〕在查询窗体中输入T-SQL语句请你练习1.建表练习,按以下要求通过SSMS创立表。属性列数据类型长度空值列约束说明st_idnVarChar9NotNullPK学生学号st_nmnVarChar8NotNull学生姓名st_sexnVarChar2Null学生性别st_birthdatetimeNull出生日期st_scoreintNull入学成绩st_datedatetimeNull入学日期st_fromnChar20Null学生来源st_dpidnVarChar2Null所在系编号st_mnttinyintNull学生职务2.建表练习,按以下要求通过T-SQL语句创立表。属性列数据类型长度空值列约束说明cs_idnVarChar4NotNullPK课程编号cs_nmnVarChar20NotNull课程名称cs_tmintNull课程学时cs_scintNull课程学分创立上表的T—SQL语句为:IFOBJECT_ID('class')ISNOTNULLDROPTABLEclassGOCREATETABLEclass(cs_idnVarChar(4)PRIMARYKEY,cs_nmnVarChar(20)NotNull, cs_tmint, cs_scint,)ON[PRIMARY]GOexecsp_addextendedpropertyN'MS_Description',N'课程编号',N'user',N'dbo',N'table',N'class',N'column',N'cs_id'execsp_addextendedpropertyN'MS_Description',N'课程名称',N'user',N'dbo',N'table',N'class',N'column',N'cs_nm'execsp_addextendedpropertyN'MS_Description',N'课程学时',N'user',N'dbo',N'table',N'class',N'column',N'cs_tm'execsp_addextendedpropertyN'MS_Description',N'课程学分',N'user',N'dbo',N'table',N'class',N'column',N'cs_sc'GO3.建表练习,按以下要求通过T-SQL语句创立表。属性列数据类型长度空值列约束说明cs_idnVarChar4NotNullFK课程编号st_idnVarChar9NotNullFK学生编号scoreintNull课程成绩sltdatedatetimeNull选课日期创立上表的T—SQL语句为:IFOBJECT_ID('class_student1')ISNOTNULLDROPTABLEclass_student1GOCREATETABLEclass_student1(cs_idnVarChar(4)NotNullFOREIGNKEYreferencesclass(cs_id),st_idnVarChar(9)NotNullFOREIGNKEYreferencesstudent(st_id), scoreint, sltdatedatetime,)GOexecsp_addextendedpropertyN'MS_Description',N'课程编号',N'user',N'dbo',N'table',N'class_student1',N'column',N'cs_id'execsp_addextendedpropertyN'MS_Description',N'学生编号',N'user',N'dbo',N'table',N'class_student1',N'column',N'st_id'execsp_addextendedpropertyN'MS_Description',N'课程成绩',N'user',N'dbo',N'table',N'class_student1',N'column',N'score'execsp_addextendedpropertyN'MS_Description',N'选课日期',N'user',N'dbo',N'table',N'class_student1',N'column',N'sltdate'GO执行以上代码后,课得到下表:分析与讨论:使用外键链接时,列的数据类型和数据长度必须要一样实验六表的维护实验目的熟练掌握使用T-SQL语句对表的结构进行修改。熟练掌握使用SSMS管理工具删除表、重命名表。熟练掌握使用T-SQL语句删除表、重命名表。实验要求了解常用的修改表定义语句。完成已经创立成功的表上的修改表定义的操作。实验内容修改表定义练习。实验步骤右键点击所要修改的学生表,选择“设计表〞。在空白处点右键,选择“属性〞,弹出另一窗体,在此可以更改约束,也可以增加约束利用Transact-SQL语句修改表。使用上一节最后完成的Student表。先做好准备,通过SSMS删除Sage上的check约束,Ssex上的check约束,sno上的主键约束。修改Sage列,允许空值,类型为smallint。添加一列列名为Sdept,类型为varchar(20)。useTestaltertableStudentaddSagesmallintnotnullgoaltertableStudentaddSdeptvarchar(20)更改表以删除列〔5〕修改表的列以增加约束。〔6〕查看Student表上添加的约束。execsp_helpconstraintstudent0由于执行了很屡次,所以结果有多个。〔7〕修改表的列以删除约束。〔8〕修改列的属性。将Student表中的Sname长度改为20。useTestgoaltertablestudent0altercolumnsnamechar(20)〔9〕将Student表重新命名成Stu。useTESTgoSp_rename'student0','stu'〔10〕将stu表的列Sname重命名为T-Sname。useTESTgoSp_rename'stu,Sname','T-Sname','column'请你练习为“stu〞表添加“dp_count〞列〔数据类型为nvarchar,长度为3,允许为空〕。useTESTaltertablestuadddp_countnvarchar(3)修改“stu〞表的“dp_count〞列数据类型为int。useTESTaltertablestualtercolumndp_countint删除“stu〞表的“dp_count〞列。useTESTaltertablestudropcolumndp_count4.删除表“stu〞。分析与讨论:在对表进行修改操作时,应先将各列的约束去除,否那么无法进行修改。实验七数据查询初步实验目的掌握常规的select语句的使用方法。掌握其他数据操纵语句的使用。熟练通过SQL语句导入数据实验要求掌握简单select语句使用方法。熟悉关系型数据库查询的根本思想。实验内容Select语句简单查询。T-SQL数据操纵语句。实验步骤1、使用insert语句向数据库中插入数据2、翻开企业管理器,右键点击stu表,选择“选择前1000行3、update语句可以用来更新行。useTESTUPDATEstuSETSbir='1991-1-2',Sage=25WHERESname='gxustu'GO〔4〕delete语句。delete语句用于删除数据行。〔5〕创立表。新建查询,使用SQL语句导入数据。〔6〕查询EMP表中的全部信息。select*from[Test].[dbo].[EMP];〔7〕查询EMP表中的EMPNO、ENAME、SAL三列,并将名称显示为职工号、姓名、工资。selectEMPNO职工号,ENAME姓名,SAL工资from[Test].[dbo].[EMP];〔8〕查询EMP表中的ENAME、DEPTNO、JOB、SAL四列,并将名称显示为姓名、部门号、工作、工资,并使用SAL为依据排序。selectENAME姓名,DEPTNO部门号,Job工作,SAL工资from[Test].[dbo].[EMP]ORDERBYSAL;请你练习查找insert、delete、update语句的格式,练习使用。插入:INSERTINTO[数据库名].[dbo].[表名]([列1],[列2],[列3])VALUES(值1,值2,值3〕GO删除:DELETEFROM[数据库名].[dbo].[表名]WHERE列名='列值GO更新:use数据库名UPDATE表名SETSbir='1991-1-2',Sage=25WHERESname='gxustu'GO2、按以下图显示的表定义,通过SSMS建表。写出插入这些数据的SQL语句。建表语句为:useTESTcreatetableJOB(job_idsmallintprimarykey,job_descvarchar(50),min_vtinyint,max_vtinyint〕T_SQL语句为:insertintoJOBvalues(1,'NewHire.Jobnotspecified',10,10);insertintoJOBvalues(2,'ChiefExecutive',200,250);insertintoJOBvalues(3,'BusinessOperationsManager',175,225);insertintoJOBvalues(4,'ChiefFinancialOffical',175,250);insertintoJOBvalues(5,'Publisher',150,250);insertintoJOBvalues(6,'ManagerEditer',140,225);insertintoJOBvalues(7,'MaketingManager',120,200);insertintoJOBvalues(8,'PublicRelationsManager',100,175);insertintoJOBvalues(9,'AcquisitionsManager',75,175);insertintoJOBvalues(10,'ProductionsManager',75,165);insertintoJOBvalues(11,'OperationsManager',75,150);insertintoJOBvalues(12,'Editor',25,100);insertintoJOBvalues(13,'SalesRepresentative',25,100);insertintoJOBvalues(14,'Designer',25,100);分析与讨论:有两种情况UPDATE不会对影响表中的数据。

1.当WHERE中的条件在表中没有记录和它匹配时。

2.当我们将同样的值赋给某个字段时,如将字段abc赋为'123',而abc的原值就是'123'。实验八数据查询稳固实验目的稳固上节数据查询操作。分组、排序查询。了解例如数据库Northwind结构实验要求熟练掌握各种数据查询方法。掌握关系型数据库查询的根本思想。实验内容数据查询练习。附加Northwind数据库,了解其结构。实验步骤(1)从EMP数据库中查出有多少种不同的工作,列名为“工作〞。selectdistinctJOB工作from[Test].[dbo].[EMP]〔2〕从EMP数据库中查出“DEPTNO〞等于30的所有人员信息。select*from[Test].[dbo].[EMP]whereDEPTNO=30〔3〕查出所有办事员的姓名、职工号、所属部门。selectENAME姓名,EMPNO职工号,DNAME部门from[Test].[dbo].[EMP],[Test].[dbo].[DEPT]whereJOB='办事员'〔4〕查出部门号为30,薪水大于100的员工信息。select*from[Test].[dbo].[EMP]whereDEPTNO=30andSAL>=100〔5〕查出所在部门号为10,职位不是办事员又不是部门经理的所有人。select*from[Test].[dbo].[EMP]whereDEPTNO=10andJOB!='办事员'andJOB!='部门经理'〔6〕在EMP中选择所有姓王的雇员信息。select*from[Test].[dbo].[EMP]whereENAMElike'王%'〔7〕按部门升序、工资降序输出EMP表。select*from[Test].[dbo].[EMP]whereDEPTNO=10orderbySALdesc〔8〕按部门升序,工资降序输出EMP表。select*from[Test].[dbo].[EMP]whereDEPTNO=10orderbySALdesc〔9〕下面进行Northwind数据库的查询练习。首先要附加数据库。右键单击“数据库〞选择“附加〞。在弹出的对话框中选择添加,选择Northwnd数据库。〔10〕在NorthWind中查询出每个供给商所提供产品的平均价格。selectSupplierID,avg(UnitPrice)from[Northwind].[dbo].[Products]groupbySupplierID〔11〕在NorthWind中查询得到不同的地区有多少家供给商的信息。selectCountry,count(*)from[Northwind].[dbo].[Suppliers]groupbyCountry〔12〕在NorthWind中查询显示哪些供给商有传真。selectCompanyName,Faxfrom[Northwind].[dbo].[Suppliers]wherefaxisnotnull〔13〕在NorthWind中查询不同产品所订购的总价。selectProductID,sum(Quantity*UnitPrice)from[Northwind].[dbo].[OrderDetails]groupbyProductIDorderbyProductID〔14〕在NorthWind中查询出生日期在1940年至1960年之间的雇员信息。select*from[Northwind].[dbo].[Employees]whereBirthDate>='1940-1-1'andBirthDate<'1960-1-1'〔15〕查询“Northwnd〞例如数据库中供给商的ID、公司名称、地区、城市和电话字段的值。条件是“地区等于华北〞并且“联系人头衔等于销售代表〞。SelectSupplierID,CompanyName,Address,Cityfrom[Northwind].[dbo].[suppliers]whereRegion='华北'andContactTitle='销售代表'〔16〕查询“Northwind〞例如数据库中供给商的ID、公司名称、地区、城市和电话字段的值。其中的一些供给商位于华东或华南地区,另外一些供给商所在的城市是天津。SelectSupplierID,CompanyName,Region,City,Phonefrom[Northwind].[dbo].[Suppliers]whereRegionin('东北','华南')orCity='天津'<找不到符合条件的值>〔17〕查询“Northwind〞例如数据库中位于“华东〞或“华南〞地区的供给商的ID、公司名称、地区、城市和电话字段的值。SelectSupplierID,CompanyName,Region,City,Phonefrom[Northwind].[dbo].[Suppliers]whereRegionin('东北','华南')<找不到符合条件的值>请你练习在NorthWind数据库中查询所有产品的信息。SQl语句为:select*from[Northwind].[dbo].[Products]局部截图:查询NorthWind中雇员姓名、所在城市及其家庭电话,姓名以格式“姓.名〞显示。查询语句为:SelectLastName,FirstName,City,HomePhonefrom[Northwind].[dbo].[Employees]在NorthWind中查询出单价最贵的前10种产品的信息。查询语句为:selectTop10*from[Northwind].[dbo].[Products]orderbyUnitPricedesc在NorthWind中查询出所有单价超过50美元的货物名称、货物代号及其单位重量。查询语句为:selectProductName,ProductID,QuantityPerUnitfrom[Northwind].[dbo].[Products]whereUnitPrice>505.在NorthWind中查询出职务为销售代表,称呼为小姐的所有职员姓名和生日。SelectLastName,FirstName,BirthDatefrom[Northwind].[dbo].[Employees]whereTitle='SalesRepresentative'andTitleOfCourtesy='Ms.'分析与讨论:1、SQL使用单引号来环绕文本值〔大局部数据库系统也接受双引号〕。如果是数值,请不要使用引号。实验九稍复杂的查询〔多表查询、子查询〕实验目的掌握SSMS查询编辑器的使用方法,加深对SQL语言的嵌套查询语句的理解。熟悉根本的连接查询,掌握内连接与外连接查询。掌握相关子查询的使用方法。学会嵌套子查询的使用方法、集合查询。实验要求掌握在实际的数据关系中设计有意义的查询。掌握较复杂的数据查询方法。实验内容数据查询联系。实验步骤〔1〕查询唐强的工作所在部门名称和部门所在地。selectDNAME,LOCATIONfrom[T].[dbo].[DEPT]

whereDEPTNO=( selectDEPTNOfrom[Test].[dbo].[EMP] whereENAME='唐强')〔2〕在沈阳工作的雇员信息。

select*from[Test].[dbo].[EMP]

whereDEPTNO=( selectDEPTNOfrom[Test].[dbo].[DEPT] whereLOCATION='沈阳')

3〕找出在沈阳工作的雇员信息及其所在部门信息。select*from[Test].[dbo].[EMP],[Test].[dbo].[DEPT]whereDEPT.LOCATION='沈阳'andDEPT.DEPTNO=EMP.DEPTNO〔4〕找出工资超过经理的职工,列出姓名、工资及其经理的姓名、工资。selectfirst.ENAME职工,second.ENAME经理from[Test].[dbo].[EMP]first,[Test].[dbo].[EMP]secondwherefirst.JOBnotlike'%经理'andsecond.JOBin('总经理','部门经理')andfirst.SAL>second.SAL〔5〕下面使用Northwind数据库进行练习。查询Boise和Albuquerque的客户在1996年订购的所有订单的订单ID、所订购的产品名称和数量useNorthwindselectorders.orderid,productname,quantity,cityfrom[orderdetails]joinproductson[orderdetails].productid=ductidjoinorderson[orderdetails].orderid=orders.orderidjoincustomersonorders.customerid=customers.customeridwherecityin('Boise','Albuquerque')andOrderDatebetween'1996-1-1'and'1996-12-31'〔6〕查询客户的每份订单的订单ID、产品名称和销售金额useNorthwindselectorders.orderid,productname,[orderdetails].unitprice*quantityas销售金额from[orderdetails]joinproductson[orderdetails].productid=ductidjoinorderson[orderdetails].orderid=orders.orderidjoincustomersonorders.customerid=customers.customerid〔7〕按运货商公司名称,统计1997年由各个运货商承运的订单的总数量useNorthwindselectcompanyname,count(*)fromshippersjoinordersonshippers.shipperid=orders.shipviawhereyear(orderdate)=1997groupbycompanyname〔8〕找出1997年订单id为10400的订单详情。select*from[orderdetails]joinorderson[orderdetails].orderid=orders.orderidwhereorders.orderid=10400andyear(orderdate)=1997〔9〕统计各类产品的平均价格useNorthwindselectcategories.categoryname,avg(unitprice)fromproductsjoincategoriesonproducts.categoryid=categories.categoryidgroupbycategories.categoryname请你练习以下查询均基于Northwind数据库。查询所有运货商的公司名称和电话。查询语句:useNorthwindselectcompanyname,phonefromshippers查询所有客户的公司名称、电话、传真、地址、联系人姓名和联系人头衔。查询语句:useNorthwindselectcompanyname,fax,phone,address,contactname,contacttitlefromcustomers……..查询单价介于10至30元的所有产品的产品ID、产品名称和库存量。查询语句:selectproductid,productname,unitsinstock

fromproducts

whereunitpricebetween10and30……..查询单价大于20元的所有产品的产品名称、单价以及供给商的公司名称、电话。查询语句:selectproductname,unitprice,panyname,suppliers.phonefromsuppliersjoinproductsonsuppliers.supplierid=products.supplieridwhereunitprice>20统计1997年上半年的每份订单上所订购的产品的总数量。查询语句:selectorders.orderid,sum(quantity)from[orderdetails]joinorderson[orderdetails].orderid=orders.orderidwhereyear(orderdate)=1997andmonth(orderdate)>=1andmonth(orderdate)<=6groupbyorders.orderid………统计各地区客户的总数量。查询语句:selectcount(*)fromcustomerswhereregionisnotnullgroupbyregion分析与讨论:1、Count(*)返回组中的项数。COUNT与COUNT_BIG函数类似。两个函数唯一的差异是它们的返回值。COUNT始终返回int数据类型值。COUNT_BIG始终返回bigint数据类型值。COUNT(ALLexpression)对组中的每一行都计算expression并返回非空值的数量。COUNT(DISTINCTexpression)对组中的每一行都计算expression并返回唯一非空值的数量。2、Jion相当于将多个表合并得到一个虚拟的表,要注意找到多个表的联系。而对于嵌套的子查询可以将内层查询作为一个结果,从而产生一个约束条件。实验十视图的管理实验目的熟练掌握使用T-SQL语句创立视图。熟练使用SSMS管理工具创立视图、修改视图。熟练掌握使用T-SQL语句删除视图、重命名视图。实验要求掌握在SQLServer中视图的创立和删除操作。实验内容视图的创立与删除。实验步骤〔1〕首先来看如何使用SSMS创立视图。启动SSMS。〔2〕在SSMS管理平台中,展开指定的效劳器,翻开要创立的视图的数据库,选择视图文件夹,右击该视图文件夹,从弹出的快捷菜单中选择“新建视图〞选项。接着就出现添加表、视图、函数对话框。〔3〕选择好创立视图所需的表、视图、函数后,通过单击字段左边的复选框选择需要的字段。单击工具栏中的“保存〞按钮,或者单击鼠标右键,从快捷菜单中选择保存选项保存视图,输入视图名,即可完成视图的创立。〔4〕现在使用T-SQL语句创立视图。查询订购日期在1996年7月1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论