《中文版SQL Server项目教程(SQL Server 2019)》全套教学课件_第1页
《中文版SQL Server项目教程(SQL Server 2019)》全套教学课件_第2页
《中文版SQL Server项目教程(SQL Server 2019)》全套教学课件_第3页
《中文版SQL Server项目教程(SQL Server 2019)》全套教学课件_第4页
《中文版SQL Server项目教程(SQL Server 2019)》全套教学课件_第5页
已阅读5页,还剩457页未读 继续免费阅读

下载本文档

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

文档简介

项目1数据库基础项目1数据库基础项目2SQLServer的安装项目3数据库与数据表项目4数据查询项目5视图项目6索引项目7SQL语言编程基础项目8存储过程项目9触发器项目10SQL数据库维护项目11数据库的安全机制项目12企业进销存管理系统综合案例全套可编辑PPT课件

内容概要随着计算机技术、网络技术和数据存储技术的发展,数据库的应用已经遍及生活的方方面面。很多读者都听说过数据库,但对于大多数人来说,数据库技术还是非常神秘的。本书就将带领读者来认识、了解和使用数据库。本章将对数据库的基本概念、体系结构、数据模型等知识进行介绍,为后续章节打下坚实的基础。数据库系统概述数据库的体系结构数据模型0405关系数据库的设计常见的关系型数据库管理系统数据库系统概述011.1.1数据管理技术的起源与发展数据是现实世界中实体(或客体)在计算机中的符号表示,数据不仅可以是数字,还可以是文字、图形、图像、音频和视频。现实生活中需要管理大量的数据,比如在学校中有相关的学生、教工、课程和成绩等方面的数据;医院有关病历、药品、医生、处方等方面的数据;银行有关存款、贷款、信用卡和投资理财业务等方面的数据。因此,对各种数据实现有效的管理具有重要意义。1.人工管理阶段20世纪50年代中期以前,计算机主要用于科学计算。当时外存的状况是只有纸带、卡片、磁带等设备,并没有磁盘等直接存取的存储设备;而计算机系统软件的状况是没有操作系统,没有管理数据的软件,在这样的情况下的数据管理方式为人工管理数据。2.文件系统阶段到了20世纪50年代后期到60年代中期,这时已有了磁盘、磁鼓等直接存储设备;而在计算机系统方面,不同类型的操作系统的出现极大地增强了计算机系统的功能。操作系统中用来进行数据管理的部分是文件系统。这时可以把相关的数据组织成一个文件存放在计算机中,在需要的时候只要提供文件名,计算机就能从文件系统中找出所要的文件,把文件中存储的数据提供给用户进行处理。但是,由于这时数据的组织仍然是面向程序,所以存在大量的数据冗余,无法有效地进行数据共享。3.数据库系统阶段20世纪60年代后期,计算机用于管理的规模越来越大,应用越来越广泛,数据量急剧增长,同时多种应用、多种语言互相覆盖的共享数据集合的要求也越来越强烈。这时已有大容量磁盘,硬件价格下降,软件价格则上升,为编制和维护系统软件及应用程序所需的成本相对增加。在这种背景下,以文件系统作为数据管理手段已经不能满足应用的需求,于是为解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,数据库技术便应运而生,出现了统一管理数据的专用软件系统—数据库管理系统。1.1.2数据库系统的组成数据库系统(DatabaseSystem,DBS),指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统和数据库管理员构成。应当指出的是,数据库的建立、使用和维护等工作只靠一个DBMS是远远不够的,还要有专门的人员来完成,这些人被称为数据库管理员(DateBaseAdministrator,DBA)。数据库系统的主要组成部分如下:1.硬件平台硬件系统主要指计算机各个硬件组成部分。鉴于数据库应用系统的需求,特别要求数据库主机或数据库服务器外存要足够大,I/O存取效率要高,主机的吞吐量大、作业处理能力强。对于分布式数据库而言,计算机网络也是基础环境。2.数据库数据库(Database),顾名思义,就是存放数据的仓库。只不过这个仓库是在计算机的存储设备上,而且数据是按照一定的数据模型组织并存放在外存上的一组相关数据集合,通常这些数据是面向一个组织、企业或部门的。3.软件在数据库搭建完毕后,需要对数据库维护、信息录入、读取、删除等操作都需要各种管理软件的支持。4.数据库管理员及其他相关人员所有的软硬件及数据库都需要有人工负责的部分,有些还必须由人工完成。1.1.3数据库管理系统在建立了数据库之后,下一个问题就是如何科学地组织、存储,高效地获取和维护数据,完成这个任务的是一个系统软件—数据库管理系统(databasemanagementsystem,DBMS)。DBMS是指数据库系统中对数据进行管理的软件系统,它是数据库系统的核心组成部分,是应用软件与底层操作系统软件之间的桥梁,在整个数据库系统中起着关键的作用。数据库系统的一切操作,包括查询、更新及各种控制,都是通过DBMS进行的。如果用户要对数据库进行操作,需要由DBMS把操作从应用程序带到外部级、概念级,再导向内部级,进而操纵存储器中的数据。DBMS的主要目标是使数据作为一种可管理的资源,成为易于为各种不同用户所共享的资源,并增进数据的安全性、完整性、可用性,以及提供高度的数据独立性。DBMS的主要功能如下:数据的定义功能。数据的操纵功能。数据的控制功能。其他功能。数据库的体系结构021.2.1数据库系统的内部结构虽然实际的数据库系统软件的产品种类很多,并支持不同的数据模型,使用不同的数据库语言,建立在不同的操作系统之上。但从数据库管理系统的角度看,它们的体系结构都具有相同的特征,即采用三级模式结构。1.2.2数据库系统的外部结构从数据库管理系统的角度看,数据库系统是一个三级模式结构,但数据库的这种模式结构对最终用户和程序员是透明的,他们见到的仅是数据库的外模式和应用程序。从最终用户角度来看,数据库系统的结构分为单用户结构、主从式结构、分布式结构、客户端/服务器结构(C/S结构)、浏览器/服务器结构(B/S结构)和分布式结构。1.单用户数据库系统1632.主从式结构的数据库系统主从式结构是指一个主机带多个终端的多用户结构。3.分布式结构的数据库系统分布式结构的数据库系统是指数据库中的数据在逻辑上是个整体,但物理分布在计算机网络的不同结点上。4.客户端/服务器结构的数据库系统主从式数据库系统中的主机和分布式数据库系统中的每个结点是一个通用计算机,既执行DBMS功能,又执行应用程序。5.浏览器/服务器结构的数据库系统随着互联网的飞速发展,移动办公和分布式办公越来越普及,而客户端/服务器(C/S)结构的缺点就逐渐暴露出来,特别是客户端需要安装专用的客户端软件,一旦客户端软件升级,那么所有的客户计算机上的客户端软件均需要更新,因此需要对C/S结构的进行改进,浏览器/服务器结构(Browser/Server)应运而生,简称为B/S结构。数据模型031.3.1数据模型简介数据模型(DataModel)也是一种模型,它是现实世界数据特征的抽象。由于计算机不可能直接处理现实世界中的具体事物,因此人们必须事先把具体事物转换成计算机能够处理的数据。即首先要数字化,要把现实世界中的人、事、物、概念用数据模型这个工具来抽象、表示和加工处理。数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架,是现实世界的一种抽象模型。数据模型按不同的应用层次分为3种类型,分别是概念数据模型(conceptualdatamodel),逻辑数据模型(logicdatamodel)和物理数据模型(physicaldatamodel)。1.3.2E-R模型概念模型中最著名的是实体联系模型(EntityRelationshipModel,E-R模型)。E-R模型是P.P.Chen于1976年提出的。这个模型直接从现实世界中抽象出实体类型及实体间联系,然后用实体联系图(E-R图)表示数据模型。设计E-R图的方法称为E-R方法。E-R图是设计概念模型的有力工具。1.3.3关系模型目前,数据库领域中最常用的逻辑数据模型有四种:层次模型(HierarchicalModel);网状模型(NetworkModel);关系模型(RelationalModel);面向对象模型(ObjectOrientedModel)。其中层次模型和网状模型统称为非关系模型。非关系模型的数据库系统在20世纪70年代至80年代初非常流行,在数据库系统产品中占据了主导地位,现在已逐渐被关系模型的数据库系统取代,但在美国等一些国家里,由于早期开发的应用系统都是基于层次数据库或网状数据库系统,因此目前仍有不少层次数据库或网状数据库系统在继续使用。1970年美国IBM公司SanJose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础。20世纪80年代以来,计算机厂商新推出的数据库管理系统几乎都支持关系模型,非关系系统的产品也大都加上了对关系模型接口。数据库领域当前的研究工作也都是以关系方法为基础。关系数据库的设计041.4.1需求分析准确的搞清楚用户需求,是数据库设计的关键。需求分析的好坏,决定了数据库设计的成败。确定用户的最终需求其实是一件很困难的事。一方面用户缺少计算机知识,开始时无法确定计算机究竟能为自己做什么,不能做什么,所以无法准确地表达自己的需求,而且提出的需求往往不断地变化。另一方面设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求。此外新的硬件、软件技术的出现也会使用户需求发生变化。因此设计人员必须与用户不断深入地进行交流,才能逐步确定用户的实际需求。1.4.2概念结构设计概念结构设计是数据库设计的第二阶段,其目标是对需求说明书提供的所有数据和处理要求进行抽象与综合处理,按一定的方法构造反映用户环境的数据及其相互联系的概念模型,即用户数据模型或企业数据模型。这种概念数据模型与DBMS无关,是面向现实世界的数据模型,极易为用户所理解。为保证所设计的概念数据模型能正确、完全地反映用户(一个单位)的数据及其相互联系,便于进行所要求的各种处理,在本阶段设计中可吸收用户参与和评议设计。在进行概念结构设计时,可设计各个应用的视图(View),即各个应用所看到的数据及其结构,然后再进行视图集成(ViewIntegration),以形成一个单位的概念数据模型。形成的初步数据模型还要经过数据库设计者和用户的审查和修改,最后才能形成所需的概念数据模型。1.4.3逻辑结构设计逻辑结构设计阶段的设计目标是把上一阶段得到的不被DBMS理解的概念数据模型转换成等价的,并为某个特定的DBMS所接受的逻辑模型所表示的概念模式,同时将概念结构设计阶段得到的应用视图转换成外部模式,即特定DBMS下的应用视图。在转换过程中要进一步落实需求说明,并使其满足DBMS的各种限制。逻辑结构设计阶段的结果是DBMS提供的数据定义语言(DDL)写成的数据模式。逻辑结构设计的具体方法与DBMS的逻辑数据模型有关。1.4.4物理结构设计物理结构设计阶段的任务是把逻辑结构设计阶段得到的逻辑数据库在物理上加以实现。其主要内容是根据DBMS提供的各种手段,设计数据的存储形式和存取路径,如文件结构、索引的设计等,即设计数据库的内模式或存储模式。数据库的内模式对数据库的性能影响很大,应根据处理需求及DBMS、操作系统和硬件的性能进行精心设计。1.4.5数据库的实施数据库实施主要包括以下工作:用DDL定义数据库结构;组织数据入库;编制与调试应用程序;数据库试运行。1.4.6数据库的运行和维护数据库试运行结果符合设计目标后,数据库就可以真正投入运行了。数据库投入运行标志着开发任务的基本完成和维护工作的开始,但并不意味着设计过程的终结。由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的。维护工作包括:故障维护,数据库的安全性、完整性控制,数据库性能的监督、分析和改进,数据库的重组织和重构造。常见的关系型数据库051.Oracle

Oracle数据库被认为是业界目前比较成功的关系型数据库管理系统。Oracle公司是世界第二大软件供应商,是数据库软件领域第一大厂商(大型机市场除外)。Oracle的数据库产品被认为是运行稳定、功能齐全、性能超群的贵族产品。这一方面反映了它在技术方面的领先,另一方面也反映了它在价格定位上更着重于大型的企业数据库领域。对于数据量大、事务处理繁忙、安全性要求高的企业,Oracle无疑是比较理想的选择(当然用户必须在费用方面做出充足的考虑,因为Oracle数据库在同类产品中是比较贵的)。随着Internet的普及,带动了网络经济的发展,Oracle适时的将自己的产品紧密的和网络计算结合起来,成为在Internet应用领域数据库厂商的佼佼者。2.SQLServer SQLServer是微软公司开发的大型关系型数据库系统。SQLServer的功能比较全面,效率高,可以作为大中型企业或单位的数据库平台。SQLServer在可伸缩性与可靠性方面做了许多工作,近年来在许多企业的高端服务器上得到了广泛的应用。同时,该产品继承了微软产品界面友好、易学易用的特点,与其他大型数据库产品相比,在操作性和交互性方面独树一帜。SQLServer可以与Windows操作系统紧密集成,这种安排使SQLServer能充分利用操作系统所提供的特性,不论是应用程序开发速度还是系统事务处理运行速度,都能得到较大的提升。另外,SQLServer可以借助浏览器实现数据库查询功能,并支持内容丰富的扩展标记语言(XML),提供了全面支持Web功能的数据库解决方案。对于在Windows平台上开发的各种企业级信息管理系统来说,不论是C/S(客户机/服务器)架构还是B/S(浏览器/服务器)架构,SQLServer都是一个很好的选择。3.AccessAccess是微软Office办公套件中一个重要成员。Access简单易学,一个普通的计算机用户即可掌握并使用它。同时,Access的功能也足以应付一般的小型数据管理及处理需要。无论用户是要创建一个个人使用的独立的桌面数据库,还是部门或中小公司使用的数据库,在需要管理和共享数据时,都可以使用Access作为数据库平台,提高个人的工作效率。例如,可以使用Access处理公司的客户订单数据;管理自己的个人通讯录;科研数据的记录和处理等等。Access只能在Windows系统下运行。Access最大的特点是界面友好,简单易用,和其他Office成员一样,极易被一般用户所接受。因此,在许多低端数据库应用程序中,经常使用Access作为数据库平台;在初次学习数据库系统时,很多用户也是从Access开始的。4.MySQLMySQL是由瑞典MySQLAB公司开发的开源关系型数据库产品,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库,因此MySQL是目前最流行的关系型数据库管理系统之一,特别是在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件。致谢Themanwhohasmadeuphismindtowinwillneversayimpossible项目2SQLServer的安装内容概要SQLServer是Microsoft(微软)公司推出的关系型数据库管理系统,最新版本是SQLServer2019,是目前流行的DBMS软件之一。本章将重点介绍SQLServer的入门知识,包括SQLServer2019的新特点、新功能等。通过本章的学习,读者可以独立地将SQLServer部署在计算机中。SQLServer2019简介SQLServer2019的安装与卸载

SQLServer2019的服务和管理工具0405SQLServerManagementStudio的管理和操作服务器的注册SQLServer2019简介012.1.1SQLServer2019新特性

SQLServer2019在保证了各种基本服务和功能,包括数据库引擎、分析服务、集成服务、复制技术、通知服务、报表服务、服务代理、全文搜索的基础上,增加了很多新功能,包括:1.任何数据的智能化使用内置有ApacheSpark的SQLServer2019,可对跨关系、非关系、结构化和非结构化数据进行查询,从所有数据中获取自己所需,从而全面了解用户的业务情况。2.支持多种语言和平台通过开源支持,用户可以灵活选择语言和平台。在支持Kubernetes的Linux容器上或在Windows上运行SQLServer。3.业界领先的性能利用突破性的可扩展性和性能,改善数据库的稳定性并缩短响应时间,而无需更改应用程序。让任务关键型应用程序、数据仓库和数据湖实现高可用性。4.先进的安全功能过去九年来被评为漏洞最少的数据库,可实现用户的安全性和合规性目标。用户可使用内置功能进行数据分类、数据保护以及监控和警报。5.更快速地做出更好的决策使用SQLServerReportingServices的企业报告功能在数据中找到问题的答案,并通过随附的PowerBI报表服务器,使用户可以在任何设备上访问丰富的交互式PowerBI报表。6.管理大数据环境变得更加容易使用大数据集群更轻松地管理用户的大数据环境。它们提供数据湖的关键元素—HadoopDistributedFileSystem(HDFS)、Spark和分析工具—与SQLServer深度集成,并得到Microsoft的完全支持。在Kubernetes管理的集群上使用Linux容器轻松部署。7.数据虚拟化使用户能够在SQLServer中运行T-SQL查询,以提取Hadoop的数据并以结构化格式返回—完全无需移动或复制数据。现在正在将数据虚拟化的概念扩展到其他数据源,包括Oracle、Teradata、MongoDB和其他SQLServer。2.1.2SQLServer2019的版本就像微软为其他产品命名类似,SQLServer2019,也分为很多版本,其中最主要的有:1.企业版(EnterpriseEdition)作为高级产品及服务,SQLServerEnterpriseEdition提供了全面的高端数据中心功能,具有极高的性能和无限虚拟化,还具有端到端商业智能,可以为任务关键工作负载和最终用户访问数据见解提供高服务级别。支持任意数量的处理器、数据库尺寸及分区。2.标准版(StandardEdition)SQLServerStandardEdition提供了基本数据管理和商业智能数据库,供部门和小型组织运行其应用程序,并支持将常用开发工具用于本地和云,有助于以最少的IT资源进行有效的数据库管理。3.精简版(ExpressEdition)Express版本是入门级的免费数据库,没有管理工具、高级服务和可用性功能。是学习和构建桌面及小型服务器数据驱动应用程序的理想选择。它是独立软件供应商、开发人员和热衷于构建客户端应用程序的人员的最佳选择。如果用户需要使用更高级的数据库功能,则可以将SQLServerExpress无缝升级到其他更高端的SQLServer版本。4.开发者版(DeveloperEdition)SQLServerDeveloper版支持开发人员基于SQLServer构建任意类型的应用程序。它包括Enterprise版的所有功能,但有许可限制,只能用作开发和测试系统,而不能用作生产服务器。SQLServerDeveloper是构建和测试应用程序的人员的理想之选。5.试用版(EvaluationEdition)最主要的特点是包含最大的SQLServer功能集,已激活,但有180天的有效期,功能齐全但不能商用。SQLServer2019的安装与卸载022.2.1SQLServer2019的安装要求在安装时,需要注意SQLServer2019的安装要求,包括硬件要求和软件环境要求等。1.硬件要求安装SQLServer2019的硬件要求包括:硬盘:至少6GB的可用磁盘的空间内存:ExpressEdition最低要求512M,其他版本最低1G。推荐至少4GB,且随着数据库大小增加来增加。处理器:最低为64位处理器,频率为1.4GHz,推荐为2.0GHz或更高。处理器类型:x64处理器:AMDOpteron、AMDAthlon64、支持IntelEM64T的IntelXeon,以及支持EM64T的IntelPentiumIV。(X86处理器不再支持)显示器:Super-VGA(800x600)或更高分辨率的显示器。2.软件要求按照现在正常的配置,在硬件方面都可以达到相关要求,相对来说,软件要求就稍微复杂一点。操作系统:Windows10TH11507或更高版本,WindowsServer2016或更高版本。其中企业版只能运行在Server服务器中。.NATFramework支持:最低版本操作系统包括最低版本.NET框架。网络软件:SQLServer支持的操作系统具有内置网络软件。独立安装项的命名实例和默认实例支持以下网络协议:共享内存、命名管道和TCP/IP。软件组件:SQLServerNativeClient、SQLServer安装程序支持文件。2.2.2SQLServer2019的安装可以在微软的产品评估板块,找到SQLServer评估,填写评估者的相关信息,如图2-2所示,就可以启动“SQL2019-SSEI-Eval.exe”,在线安装程序的下载。2.2.3安装SQLServerManagementStudioSQLServerManagementStudio是MicrosoftSQLServer提供的一种新集成环境,用于访问、配置、控制、管理和开发SQLServer的所有组件。SQLServerManagementStudio将一组多样化的图形工具与多种功能齐全的脚本编辑器组合在一起,可为各种技术级别的开发人员和管理员提供对SQLServer的访问。SQLServerManagementStudio将早期版本的SQLServer中所包含的企业管理器、查询分析器和AnalysisManager功能整合到单一的环境中。此外,SQLServerManagementStudio还可以和SQLServer的所有组件协同工作。使用过早期版本的开发人员可以获得熟悉的体验,而数据库管理员可获得功能齐全的单一实用工具,其中包括易于使用的图形工具和丰富的脚本撰写功能。2.2.4SQLServer2019的卸载SQLServer2019的卸载和其他Windows的软件类似,可以通过系统自带的“添加或删除程序”功能进行卸载,也可以使用第三方软件进行卸载。接下来介绍使用系统自带的“添加删除程序”功能卸载该软件的步骤:STEP01:通过搜索“添加或删除程序”找到并选择该选项。STEP02:通过“安装时间排序”,找到并选择SQLServer对应的程序,选择后单击“卸载”按钮,就可以启动程序的卸载向导了。由于篇幅有限,卸载过程在此不做赘述。SQLServer2019的服务和管理工具032.3.1SQLServer2019的服务组件SQLServer2019提供的服务组件主要有:数据库引擎(DatabaseEngine)、报表服务(ReportingServices)、分析服务(AnalysisServices)和整合服务(IntegrationServices)等服务器组件。服务器组件说明

SQLServer数据库引擎

SQLServer数据库引擎包括数据库引擎(用于存储、处理和保护数据的核心服务)、复制、全文搜索以及用于管理关系数据和XML数据的工具。AnalysisServicesAnalysisServices包括用于创建和管理联机分析处理(OLAP)以及数据挖掘应用程序的工具。ReportingServicesReportingServices包括用于创建、管理和部署表格报表、矩阵报表、图形报表以及自由格式报表的服务器和客户端组件。ReportingServices还是一个可用于开发报表应用程序的可扩展平台。IntegrationServicesIntegrationServices是一组图形工具和可编程对象,用于移动、复制和转换数据。2.3.2SQLServer的管理工具对于数据库管理员来说,管理工具是日常工作中不可缺少的部分。数据库开发人员使用开发工具可以减轻开发过程中的工作量,提高工作效率。SQLServer提供的主要管理工具。除了管理工具外,SQLServer安装中心中,还提供了各种文档。2.3.3SQLServer服务的启动使用SQLServer配置管理器可以启动、暂停、继续、停止和重新启动服务,还可以查看或更改服务属性。下面介绍具体的操作步骤:STEP01:在“开始”菜单中找到并选择“SQLServer2019配置管理器”选项,如图2-43所示。STEP02:在左侧选择“SQLServer服务”选项,在右侧的窗口将显示当前系统中所有的SQLServer服务,选择其中的一项服务,单击右键在弹出的快捷菜单中,选择“启动”、“暂停”、“继续”、“停止”或者“重新启动”选项就可以实现对服务的管理,如果选择“属性”可以查看或者更改服务属性。2.3.4SQLServer服务的管理服务与服务器是两个不同的概念,服务器是提供服务的计算机,配置服务器主要是对内存、处理器、安全性等几个方面进行配置。由于SQLServer服务器设置的参数比较多,这里介绍一些常用的参数。配置SQLServer服务器的办法:启动“SQLServerManagementStudio”,在“对象资源管理器”窗口里,鼠标右键单击要配置的服务器(实例)名,在弹出的快捷菜单里单击“属性”选项,如图2-45所示。下面介绍各选项卡里的内容。2.3.5管理网络协议使用SQLServer配置管理器可以管理服务器和客户端网络协议,其中包括强制协议加密、启功协议、禁用协议和查看别名属性等功能。双击“SQLServer配置”左侧窗格中“SQLServer网络配置”节点,右侧的窗口将显示当前系统中所有的SQLServer协议,选择并双击其中的一项协议,这是在右侧的窗格中将会显示具体的协议名称和状态。选中右击某一项具体协议,在弹出的快捷菜单中选择“属性”,进入如图2-55所示的对话框,可以下“协议”和“IP地址”选项卡中配置IP地址和端口等。服务器的注册042.4.1注册服务器注册服务器的操作过程如下:STEP01:在对象资源管理器中,右击服务器名称,在弹出的快捷菜单中选择“注册”命令。STEP02:输入服务器名称,并选择身份验证方式后,输入已注册侧服务器名称,单击“测试”按钮。STEP03:测试成功后,保存退出,在“视图”菜单中,选择“已注册服务器”,即可打开并查看已注册的服务器列表。2.4.2删除服务器如果希望不再管理已注册的服务器,那么可以将其删除,其操作过程如下:单击“视图”菜单下面的“已注册服务器”,即可打开并查看已注册的服务器列表,选择需要删除的服务器,在其上单击鼠标右键,选择“删除”选项即可。SQLServerManagementStudio的管理和操作052.5.1启动SQLServerManagementStudio启动SSMS的方法和启动其他程序的方法类似:STEP01:在“开始”菜单中,找到并选择“MicrosoftSQLServicesManagementStudio18”选项,如图2-34所示。STEP02:接着SSMS会自动启动,并弹出连接界面,保持默认的服务器类型为“数据库引擎”,身份验证为“Windows身份验证”,单击“连接”按钮。STEP03:默认登录后,会进入“对象资源管理器界面”,如图2-36所示。SSMS主要包含了两个工具:图形化管理工具(对象资源管理器)和TransactSQL编辑器(查询分析器)。此外在这里还可以启动“模版资源管理器”窗口、“解决方案资源管理器”窗口和“注册服务器”窗口等。STEP04:用户可以通过单击工具栏中的“新建查询”按钮打开TransactSQL编辑器,输入查询命令后,然后单击“执行”按钮执行SQL命令,并将结果显示在结果窗格。STEP05:用户也可以通过选择视图菜单,把“模版资源管理器”、“解决方案资源管理器”和“注册服务器”等窗口打开或者关闭。2.5.2使用对象资源管理器对象资源管理器是服务器中所有数据库对象的树形视图,如图2-39所示。对象资源管理器包括与其连接的所有服务器的信息,打开SSMS时,系统会提示将对象资源管理器连接到上次使用的设置。可以在“已注册的服务器”组件中双击任意服务器进行连接,但无需注册要连接的服务器。2.5.3在TransactSQL编辑器中编写和执行查询语句如果在TransactSQL编辑器中编写查询语句,可以使用以下几种方式打开编辑器。在标准工具栏上,单击“新建查询”按钮在标准工具栏上,单击与所选连接类型关联的按钮(如“数据库引擎查询”)在“文件”菜单中,依次指向“打开”、“文件”命令,在打开的对话框选择一个文档在“文件”菜单的“新建”命令下选择查询类型打开编辑器后,就可以在编辑器中编写查询语句,系统会将关键字以不同的颜色突出。2.5.4使用模版资源管理器降低编码难度在SSMS的菜单栏中单击“视图”,在下拉菜单中选择“模版资源管理器”,在界面右侧将会出现“模版资源管理器”窗格,在右侧的的窗口中选择所需要的模版,例如在选择创建数据库模版上单击鼠标右键,弹出的快捷菜单中选择“打开”或者直接双击所选模版,则会将所选模版在编辑器中打开。致谢Themanwhohasmadeuphismindtowinwillneversayimpossible项目3数据库与数据表内容概要数据库是长期存储在计算机内的有组织的可共享的数据集合,用于存储表、视图、存储过程、触发器等数据对象,用户在使用数据库管理系统提供的功能时,首先必须将自己的数据放置和保存到用户的数据库中。数据表是关系模型中表示实体及实体间关系的方式,是数据库存储数据的主要对象。本章着重介绍创建和管理数据库,以及创建、修改、删除数据表和管理数据表约束的方法。

SQLServer数据库简介创建数据库修改数据库05删除数据库操作数据表SQLServer数据库简介01从数据库应用和管理角度看,SQLServer数据库可以分为两大类:系统数据库和用户数据库。系统数据库存储有关SQLServer的系统信息,这些数据库由数据库管理系统自动维护,如果系统数据库遭受破坏,那么SQLServer将不能正常启动。用户数据库由用户创建和维护,用于存储用户所需的数据。1.master数据库master数据库是“数据库的数据库”,master数据库记录SQLServer系统的所有系统级信息。master数据库是SQLServer的核心,如果该数据库被损坏,SQLServer将无法正常工作,所以定期备份master数据库是非常重要的。master数据库中包含以下重要信息:所有登录名或角色、所有系统配置设置、数据库的位置和SQLServer初始化等信息。2.msdb数据库ManagementStudio和SQLServerAgent使用msdb数据库来存储计划信息以及与备份和恢复相关的信息,尤其是SQLServerAgent需要使用它来执行安排工作和警报,记录操作者等操作。3.model数据库model数据库用在SQLServer实例上创建的所有数据库的模板。因为每次启动SQLServer时都会创建tempdb,所以model数据库必须始终存在于SQLServer系统中。当执行CREATEDATABASE语句时,将通过复制model数据库中的内容来创建数据库的第一部分,然后用空页填充新数据库的剩余部分。如果修改model数据库,之后创建的所有数据库都将继承这些修改。4.tempdb数据库tempdb系统数据库是连接到SQLServer实例的所有用户都可用的全局资源,它保存所有临时表和临时存储过程。另外,它还用来满足所有其他临时存储要求,例如存储SQLServer生成的工作表。每次启动SQLServer时,都要重新创建tempdb,以便系统启动时,该数据库总是空的,在断开连接时SQLServer会自动删除临时表和存储过程。5.resource数据库resource数据库是只读数据库,它包含了SQLServer中的所有系统对象。SQLServer系统对象(例如sys.objects)在物理上持续存在于resource数据库中,但在逻辑上,它们出现在每个数据库的sys架构中。resource数据库是隐藏的,通常应该由Microsoft客户服务专家来打开,用于查找问题和进行客户支持。创建数据库02SQLServer将数据库映射为一组操作系统文件,创建数据库的过程就是创建数据文件和日志文件的过程,数据文件用于存储数据信息,日志文件用于存储日志信息。3.2.1数据库文件简介

每个SQLServer数据库至少具有两个操作系统文件:一个数据文件和一个日志文件。数据文件包含数据和对象,如表、索引、存储过程和视图。日志文件包含恢复数据库中的所有事务所需的信息。为了便于分配和管理,可以将数据文件集合起来,放到文件组中。1.数据文件 数据文件是存放数据库数据和数据库对象的文件。一个数据库可以有一个或多个数据文件。2.日志文件事务日志文件保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件,也可以为多个。事务日志的建议文件扩展名是.ldf。3.文件组为便于分配和管理,可以将数据文件分成文件组(日志文件不包括在文件组内)。有两种类型的文件组。3.2.2使用SSMS创建数据库下面介绍使用SSMS创建数据库的步骤:STEP01:在对象资源管理器中的数据库节点上单击鼠标右键,选择“新建数据库”选项。STEP02:在“新建数据库”对话框的“常规”选项中,输入数据库名称、所有者以及数据库文件。STEP03:选择“选项”选项,设置数据库的各选项。STEP04:选择“文件组”选项,添加或删除文件组。STEP05:创建完成。单击“确定”按钮,数据库创建成功。用户可以在对象资源管理器中看到刚创建的数据库。3.2.3使用SQL命令创建数据库除了上面的方法外,在SQL中,还可以使用命令CREATEDATABASE创建一个新数据库及存储该数据库的文件。CREATEDATABASE其创建数据库的语法格式如下:CREATEDATABASEdatabase_name[ON[PRIMARY][<filespec>[,...n][,<filegroup>[,...n]][LOGON{<filespec>[,...n]}]][COLLATEcollation_name][WITH<external_access_option>] 参数说明如下:database_name:新数据库的名称。ON:指定数据库文件或文件组的明确定义。PRIMARY:指明主数据库文件或主文件组。一个数据库只能有一个主文件,如果没有指定PRIMARY,那么CREATEDATABASE语句中列出的第一个文件将成为主文件。<filegroup>:控制文件组属性。修改数据库033.3.1查看数据库的属性对象资源管理器是SSMS的一个组件,可连接到数据库引擎、实例和其他服务。它提供了服务器中所有对象的视图,并具有可用于管理这些对象的用户界面,在打开数据库文件夹目录树后,可以选择各种数据库对象进行信息浏览。3.3.2修改数据库 可以在SSMS中利用数据库属性的设置更改数据库各项参数,也可使用ALTERDATABASE命令来更改数据库,ALTERDATABASE可以更改数据库的属性或其文件和文件组。ALTERDATABASE的语法格式如下:ALTERDATABASEdatabase_name{<add_or_modify_files>|<add_or_modify_filegroups>|<set_database_options>|MODIFYNAME=new_database_name|COLLATEcollation_name}各参数简要说明如下:database_name:要修改的数据库的名称。MODIFYNAME=new_database_name:使用指定的名称new_database_name重命名数据库。<add_or_modify_files>:指定添加、修改或删除的数据库文件。<add_or_modify_filegroups>:指定添加、修改或删除的文件组。<set_database_options>:更改数据库参数。3.3.3收缩数据库数据库在使用一段时间后,时常会出现因数据删除而造成数据库中空闲空间过多的情况,需要使用收缩的方式来缩减数据库空间。可在数据库属性“选项”中找到并将“自动收缩”后的“False”改为“True”,即可使系统自动收缩数据库。除了设置属性外,也可以手动收缩。在目标数据库上单击鼠标右键,在“任务”级联菜单中的“收缩”级联菜单中,选择“数据库”选项。在弹出“收缩数据库”对话框中,可选择“在释放未使用的空间前重新组织文件”复选框,设置收缩后的文件的最大可用空间比值,单击“确定”按钮,,就开始收缩了。删除数据库043.4.1使用SSMS删除数据库打开SSMS后,展开数据库列表,从中选中需要删除的数据库,单击鼠标右键,选择“删除”选项,系统会弹出删除对话框,勾选下方两个复选框后,单击“确定”按钮,就可以删除选中的数据库了。3.4.2使用命令删除数据库 可以使用命令DROPDATABASE删除数据库。其语法格式为:DROPDATABASE{database_name}[,...n]【示例3.13】删除数据库。DROPDATABASEtest2 --删除单个数据库DROPDATABASEtest2,test --删除多个数据库操作数据表053.5.1数据表与数据类型表是关系模型中表示实体及实体间关系的方式,是数据库存储数据的主要对象。SQLServer2019数据库中的表由行和列组成。列:用来保存对象的某一类属性,每列又称为一个字段,每列的标题称为字段名。行:用来保存一条记录,是数据对象的一个实例,包括若干列信息项。3.5.2创建数据表在创建表之前,需要先设计表结构,考虑该表中存储哪些数据,应该由哪些列组成,并为每一列指定所属的数据类型。确定表结构之后,可以通过两种方式创建数据表:一是图形化工具;二是SQL语句。下面分别采用以上两种方式创建人员统计表。2.使用SQL语句创建数据表 除了可以使用图形界面方式创建数据表,还可以使用CREATETABLE语句来创建数据表。CREATETABLE语句所涉及到选项数量众多,下面介绍下一些最常用的选项。CREATETABLE语句的基本语法格式如下:CREATETABLE表名(

列名1数据类型列属性,

列名2数据类型列属性,…………

列名n数据类型列属性)其中,列属性包括:[NULL|NOTNULL][PRIMARYKEY][DEFAULT]等属性。由上述语法可以看出,在CREATETABLE语句中需要指定的信息与表设计器中需要指定的信息完全相同,包括表名、列名、列的数据类型以及列属性等。【示例3.15】使用SQL语句在test数据库中创建产品表“product”,代码如下:USEtest--使用数据库testGOCREATETABLEproduct--创建产品表(Snochar(12)NOTNULLPRIMARYKEY,--产品编号,主键,

Snamevarchar(50)NOTNULL,--产品名称

Scategorychar(50),--产品类别

Spriceint,--产品价格

Sremarksvarchar(50)--产品备注)GO输入完毕后,创建完毕后,可以到test数据库中的“表”节点刷新并查看创建效果。3.5.3管理数据表 数据表创建表后,可以根据需要改变数据表中已经定义的许多选项。用户除了可以增加、修改、删除字段等操作,还可以删除不需要的数据表。本节重点就是介绍管理数据表的方法。1.修改数据表修改数据表操作主要包括:增加新字段、修改字段的数据类型、删除字段等操作。这些操作可以通过两种方式完成:(1)图形化工具;(2)SQL语句。(1)添加字段 添加字段可以在图形化工具中进行,也可以使用SQL语句执行。例如在表“product”中,增加一个字段名为“code”,数据类型为varchar(10),允许为空。(2)修改字段修改字段时,可以进入到表的“设计”界面中,根据需要进入对应的字段中进行修改,如将“Scode”的“varchar(10)改为varchar(12)”。(3)删除字段进入到表中,在需要删除的字段上单击鼠标右键,选择“删除列”,然后关闭保存即可。2.删除数据表删除数据表也可以通过图形化工具及SQL语句删除。在SSMS中,找到需要删除的数据表,在其上单击鼠标右键,选择“删除”选项。在弹出的对话框中,单击“确定”按钮,就可以删除了。3.5.4管理约束 约束是SQLServer提供的自动强制数据完整性的一种方式,它是通过定义列的取值规则来维护数据的完整性,是强制数据完整性的标准机制。SQLServer共有5种约束,分别是:主键约束、唯一性约束、检查约束、默认值约束和外键约束。1.主键约束 一个表只能有一个主键(PRIMARYKEY)约束,并且PRIMARYKEY约束中的列不能接受空值。由于PRIMARYKEY约束可保证数据的唯一性,因此经常对标识列定义这种约束,如:课程编号可作为课程表的主键,职工工号可以作为职工表的主键,有时为了数据的唯一性,还需要另外创建主键列,如网上交易记录表中的交易流水号。下面介绍创建和删除主键约束的方法。(1)创建主键约束在图形界面中创建主键约束的方法如下:STEP01:打开数据表的“设计”模式,在需要设置为主键的数据列单击鼠标右键,选择“设置主键”选项。完成后保存即可。(2)删除主键约束选择要删除主键的列,单击鼠标右键,选择“删除主键”选项,就可以将主键删除。然后关闭保存即可。使用SQL语句删除主键约束的方法如下:【示例3.21】删除数据表zhujian中的主键约束。USEtestGOALTERTABLEzhujianDROPCONSTRAINTpk_Course_IDGO2.唯一性约束 使用唯一性(UNIQUE)约束确保在非主键列中不输入重复的值。可以对一个表定义多个UNIQUE约束,UNIQUE约束允许NULL值。(1)创建唯一性约束使用SQL语句创建的方法如下:【示例3.22】创建数据表ys,并通过唯一性约束UNIQUE限制S2的值不允许重复。USEtestGOCREATETABLEys( S1intPRIMARYKEY,--设置主键约束

S2varchar(20)UNIQUE--设置唯一性约束)GO

执行后,可以进入到“索引/键”中,查看S2设置是否成功。(2)删除唯一性约束的方法 在图形界面中,进入到“索引/键”对话框中,选中需要删除唯一性约束的选项,单击“删除”按钮即可。如果要使用SQL语句,可以用以下的方法:3.检查约束检查(CHECK)约束通过限制输入到列中的值来强制数据的完整性。例如,可以通过任何基于逻辑运算符返回TRUE或FALSE的逻辑(布尔)表达式创建CHECK约束。

4.默认约束 默认约束使用户能够定义一个值,当用户没有在某一列中输入值时,则将所定义的值提供给这一列。如果用户对此列没有特殊要求,可以使用默认约束为此列输入默认值。5.外键约束外键(FOREIGNKEY)是用于建立两个表数据之间连接的一列或多列。在外键引用中,当一个表(引用表)的列引用了另一个表(被引用表)的主键值的一列或多列时,就在两表之间建立了连接,而这个列就成为引用表的外键。下面以产品表(product)和销售表(xiaoshou3)为基础介绍建立外键的方法。产品表内容。将Sname列也设置为“主键”。 销售表(xiaoshou3),可以使用SQL语句新建。USEtestGOCREATETABLExiaoshou3(Xidchar(12),--产品IDXnamevarchar(50),--产品名称Xsvint,--产品销量PRIMARYKEY(Xid,Xname)--主键约束)GO

执行后就可以创建xiaoshou3表了3.5.5管理数据表数据 表创建以后,只是一个没有数据的空表。因此向表中添加数据可能是创建表之后首先要执行的操作。无论表中是否有数据,都可以根据需要向表中添加数据。当表中的数据不合适或者出现了错误时,可以更新表中的数据。如果表中的数据不再需要了,则可以删除这些数据。接下来,本节将介绍添加、修改和删除表中数据的方法。1.通过图形化工具管理数据 在SSMS中,选择要编辑数据的表,如之前创建的“product”上单击右键,在弹出的快捷菜单中选择“编辑前200行”,即可显示该数据表中已经存储的前200行数据,最后有一个空行。2.用INSERT语句插入数据 可以使用INSERT语句添加数据,INSERT语句的基本格式如下:INSERTINTO表名(列名1,列名2,……,列名n)VALUES(值1,值2,……,值n)其中INSERTINTO后面要指定要插入数据的数据表名,并且同时指定表的列名称,VALUES子句指定要插入的具体数据。【示例3.26】在product表中,添加一条记录。USEtestGOINSERTINTOproduct(Sno,Sname,Scategory,Sprice,Sremarks)VALUES('10007','华硕','笔记本',6000,'测试')GO执行完毕后,会显示执行结果,并在表中,增加了一条记录。3.使用UPDATE语句更新数据 可以使用UPDATE语句更新表中已经存在的数据,该语句既可以一次更新一行数据,也可以一次更新多行数据。UPDATE语句的基本语法格式如下所示:UPDATE表名SET列名1=值1,列名2=值2,……,列名n=值nWHERE条件表达式当执行UPDATE语句时,如果使用了WHERE子句,则表中所有满足WHERE条件的行都将被更新,如果没有指定WHERE子句,则表中所有的行都将被更新。【示例3.28】将product表中课程编号为“10008”的产品名称修改为“网卡”。USEtestGOUPDATEproductSETSname='网卡'WHERESno='10008'GO执行结果如图3-67所示,有一行记录被更新。4.用DELETE语句删除数据 当表中的数据不再需要的时候,可以将其删除。一般情况下,可以使用DELETE语句删除表中的数据。该语句可以从一个表中删除一行或多行数据。使用DELETE语句删除数据的基本语法格式如下:DELETEFROM表名WHERE条件表达式在DELETE语句中,如果使用了WHERE子句,表示从指定的表中删除满足WHERE条件的数据行。如果没有使用WHERE子句,则表示删除指定表中的全部数据。【示例3.29】删除product表中编号为'10009'的记录。USEtestGODELETEFROMproductWHERESno='10009'GO执行结果如图3-68所示,有一行记录被删除。致谢Themanwhohasmadeuphismindtowinwillneversayimpossible项目4数据查询内容概要数据查询是数据库管理系统最重要的功能之一,即根据用户实际需求对数据进行筛选,并以特定格式显示。本项目将讲述有关数据查询的基础知识,包括查询工具的使用、简单查询、集合查询等基础查询,以及嵌套查询和连接查询等高级查询方法。通过对本项目内容的学习,可以掌握利用查询工具和SELECT语句进行简单查询、集合查询以及多表连接查询和嵌套查询等高级查询技术。查询工具的使用SELECT查询语句040506使用聚合函数统计汇总查询嵌套查询集合查询连接查询查询工具的使用014.1.1编辑查询编辑查询语句之前,首先需要打开查询编辑器窗口。具体步骤如下:STEP01:启动SSMS,并连接到SQLServer2019。STEP02:单击工具栏左上方的“新建查询”按钮,打开新的“查询编辑器”窗口。STEP03:在“查询编辑器”窗口中输入以下代码:USEtestGOSELECT*FROMygxxbGO输入代码的过程中,编辑器会根据输入的内容改变字体颜色,同时还会给出相应的提示信息列表供用户选择,用户可以选择也可以手动输入。Step04:单击SQL编辑器工具栏上的“分析”按钮,对用户输入的语句进行分析,检查是否有语法错误,如果没有问题。Step05:单击SQL编辑器工具栏上的“执行”按钮,执行用户输入的语句,结果。可以看到,右侧的查询窗口自动划分为两个子窗口,上面的子窗口中为执行的查询语句,下面的“结果”子窗口中显示了查询语句的执行结果。4.1.2查询结果的显示方法在查询窗口的工具栏中,提供了2种不同的显示结果的格式,包括“以文本格式显示结果”、“以网格显示结果”。用户在工具栏选中对应的显示方法并执行后可以查看效果。比如以文本格式显示。SELECT查询语句02SELECT语句功能非常强大,它能够以任意顺序、从任意数目的列中查询数据,并在查询过程中进行计算。SELECT语句有三个基本的组成部分:SELECT子句、FROM子句和WHERE子句,其完整的语法格式如下:SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…FROM<表名或视图名>[,<表名或视图名>]…[WHERE<条件表达式>][GROUPBY<列名1>[HAVING<条件表达式>]][ORDERBY<列名2>[ASC|DESC]]SELECT子句说明要查询的数据列;FROM子句说明要查询的数据来自哪个(些)对象(表或视图);WHERE子句说明查询的条件,即选择记录的条件;GROUPBY子句用于对查询结果进行分组,利用它可以进行分组汇总;HAVING子句用于限定分组必须满足的条件,必须在GROUPBY子句后出现。ORDERBY子句用于对查询结果进行排序。4.2.1选择列在很多情况下,用户可能只对表中一部分列的值感兴趣,这时可以在SELECT子句的<目标列表达式>中指定要查询的列。1.选择指定的列如果只需要查询表的部分列信息,在SELECT和FROM之间的<目标列表达式>中指定要查询的列即可,各列之间用逗号隔开。2.查询全部列查询表的全部列时,有两种方法:第一种方法是在在SELECT和FROM之间列出所有的列名;第二种方法是使用“*”来指代所有的列。3.为列设置别名可以利用AS关键字为查询结果中的列设置别名,即结果中的列标题,以提高结果的可读性。4.查询经过计算的列在SELECT查询结果中,可以根据需要使用算术运算符或逻辑运算符,对查询结果进行处理。4.2.2选择行对行的选择操作主要包括以下几种操作:1.消除结果中的重复行(DISTINCT)数据表中通常没有重复的行(记录),但当仅仅选择表的部分列时,就有可能在结果中出现重复的行,如果不想出现重复行,则可以使用关键字DISTINCT来解决该问题。2.限制结果返回的行数(TOPN[PERCENT])可以使用TOPN[PERCENT]选项限制结果返回的行数,TOPN表示返回结果的前N条记录,TOPN[PERCENT]表示返回结果的前N%(上取整)条记录。4.2.3WHERE子句下面将主要介绍包含WHERE子句的简单查询,通过在WHERE子句中设置查询条件可以筛选符合条件的记录,也就是说,只有满足查询条件的记录才会出现在结果集中。在查询条件表达式中经常使用的运算符包括:比较运算符、逻辑运算符、字符匹配运算符(LIKE)、范围运算符(BETWEEN…AND…)、集合运算符(IN)和空值运算符(ISNULL)。下面将通过一些具体示例介绍每一种运算符的用法。1.使用比较运算符

比较运算符是查询条件中最常用的,是用于比较大小的运算符,主要包括以下几种运算符:=(等于),>(大于),<(小于),>=(大于等于),<=(小于等于),!=或<>(不等于)。【示例4.7】查询员工编号等于“12303”的员工信息。USEtestGOSELECT*FROMygxxbWHEREno='12303'GO程序执行结果,结果中只有学号等于12303的学生信息。2.使用逻辑运算符逻辑运算符主要包括:AND、OR和NOT,用于连接WHERE子句的多个查询条件。其中,AND运算符表示只有在所有的条件都为真时,才返回真。OR运算符表示只要有一个条件为真,就可以返回真。NOT运算符取反。当一个WHERE子句同时包含多个逻辑运算符时,其优先级从高到低依次为NOT、AND和OR。用户也可以通过括号改变优先级。【示例4.8】查询学号小于“12306”,且性别为“女”的员工信息。USEtestGOSELECT*FROMygxxbWHEREno<'12306'ANDgender='女'GO程序执行结果,结果中只有2条记录。3.使用LIKE运算符LIKE是模式匹配运算符,用于指出一个字符串是否与指定的字符串相匹配。使用LIKE运算符的语法格式如下:[NOT]LIKE'匹配字符串'[ESCAPE'<转换字符>']其中,方括号中的内容是可选的,例如,如果LIKE关键字前面有NOT关键字,表示该条件取反。ESCAPE子句用于指定转义字符。匹配字符串可以是一个完整的字符串,也可以包含通配符%、_、[]、[^],这四种通配符的含义。4.使用BETWEEN…AND…运算符

运算符BETWEEN…AND…和NOTBETWEEN…AND…可以用来查找列的值在或不在指定的范围内。其中,BETWEEN后是范围的下限(包含下限),AND后是范围的上限(包含上限)。【示例4.10】查询学号在“12306”与“12308”之间的学生信息。USEtestGOSELECT*FROMygxxbWHEREnoBETWEEN'12306'AND'12308'GO程序执行结果如图5-15所示,编号在“12306”与“12308”之间的员工信息都出现在了结果中。5.使用IN运算符运算符IN可以用来表示列的值属于或不属于指定的集合,如果值属于指定的集合返回true,否则返回false。【示例4.11】查询编号为“12303”、“12305”及“12307”的员工信息。USEtestGOSELECT*FROMygxxbWHEREnoIN('12303','12305','12307')--集合中有3个元素GO程序执行结果,编号为“12303”、“12305”或“12307”的员工记录都出现在了结果中。6.使用ISNULL运算符 运算符ISNULL可以判断表达式的值是否是NULL,如果是NULL则返回true,否则返回false。为ygxxb增加一条没有department记录的行。【示例4.12】查询部门为NULL的员工信息。USEtestGOSELECT*FROMygxxbWHEREdepartmentISNULLGO程序执行结果,部门为NULL的新加员工记录出现在了结果中。4.2.4排序查询使用ORDERBY子句可以按一个或多个属性列对数据进行排序。ORDERBY子句通常位于WHERE子句后面,默认的排序方式有两种,升序和降序,分别通过关键字ASC和DESC来指定。其中,ASC表示升序,DESC表示降序,缺省值为升序。若使用DESC关键字,则排序列为空值的记录最后显示。使用ORDERBY子句可以按一个或多个属性列对数据进行排序。ORDERBY子句通常位于WHERE子句后面,默认的排序方式有两种,升序和降序,通过关键字ASC和DESC来指定。其中,ASC表示升序,DESC表示降序,缺省值为升序。当排序列包含空值(NULL)时,若使用ASC关键字,则排序列为空值的记录最后显示;若使用DESC关键字,则排序列为空值的记录最先显示。【示例4.13】查询所有员工信息,并按姓名降序排列。USEtestGOSELECT*FROMygxxbORDERBYnameDESCGO程序执行结果,按照姓名进行降序排列。4.2.5分组查询使用GROUPBY子句可以将查询结果按某个字段或多个字段进行分组,字段值相等的为一组。这样做的目的是为了细化聚合函数的作用对象,如果未对查询结果分组,聚合函数将作用于整个查询结果;而对查询结果分组后,聚合函数将分别作用于每个组。

【示例4.15】分组统计每一种性别的员工人数。USEtestGOSELECTgenderAS性别,COUNT(*)AS员工人数FROMygxxbGROUPBYgenderGO程序执行结果,按照“性别”的值把11位员工分成了2组。其中男6人、女5人。嵌套查询03 在SQL语言中,将一个查询语句嵌套在另一个查询语句内部的查询称为嵌套查询,嵌套查询又称为子查询。在嵌套查询中,子查询的结果往往是一个集合。 例如,下面的SQL语句就是一个嵌套查询语句。SELECTnameFROMygxxbWHEREnoIN(SELECTno FRO

温馨提示

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

最新文档

评论

0/150

提交评论