Chapter2SQLServer基本操作2.1SQLServer安装与配置SQLServer是由Microsoft公司开发和推广的关系型数据库管理系统(RDBMS)。近年来陆续推出了SQLServer2005/2008/2012等,历次版本其基本功能没有太多变化。SQLServer最大的特点是图形化管理,只能运行在Windows操作系统之上。机房均已安装SQLServer2008版本,老师也提供安装文件SQLServer2008R232位,可在ftp上自行下载,安装过程查看文档"SQLServer2008安装教程.pdf。SQLServer的安装过程与其他微软产品类似,根据向导提示,选择需要的选项一步一步来完成即可。SQLServer2008提供多种版本(企业版、标准版、工作组版、网络版、开发版、数据中心版、精简版等)供不同客户根据自己的应用方案需要选择相应版本。安装完成后可以通过T-SQL语句SELECT@@version来查询自己电脑上安装的SQLServer版本。SQLServer2008R2是2008的增强版,共有7个不同的版本:■企业版EnterpriseEdition■标准版StandardEdition■工作组版WorkgroupEdition■网络版WebEdition■开发版DeveloperEdition■精简版ExpressEdition■数据中心版DatacenterEdition安装完成后找到SQLServerManagementStudio(SSMS,SQLServer管理平台)是一个集成、统一的管理工具组。在SQLServer2005版本之后开始使用这个工具组来开发、配置SQLServer数据库。2.1.1SQLServer配置(1)启动SQLServer服务■法1:计算机右键管理-服务-SQLSerVer(MSSQLSERVER)■法2:SQLServer配置管理器(SQLServerConfigurationManager)-SQLServer服务-绿色表示正在运行的服务,红色表示已停止-SQLSerVer(MSSQLSERVER)(2)服务器连接■服务器类型一默认数据库引擎第一次启动SSMS时在本地计算机上自动完成数据库服务器的注册,即注册SQLServer本地实例。如果安装时使用默认实例,数据库系统已准备好。否则需要新建注册服务器。可以注册以下类型的服务器:a)DatabaseEngine数据库引擎,是SQLServer用于存储、处理和保护数据的核心服
Chapter 2 SQL Server 基本操作 2.1 SQL Server 安装与配置 SQL Server 是由 Microsoft 公司开发和推广的关系型数据库管理系统(RDBMS)。近年 来陆续推出了 SQL Server 2005/2008/2012 等,历次版本其基本功能没有太多变化。 SQL Server 最大的特点是图形化管理,只能运行在 Windows 操作系统之上。 机房均已安装 SQL Server 2008 版本,老师也提供安装文件 SQL Server 2008 R2 32 位, 可在 ftp 上自行下载,安装过程查看文档“SQL Server 2008 安装教程.pdf”。SQL Server 的安 装过程与其他微软产品类似,根据向导提示,选择需要的选项一步一步来完成即可。SQL Server 2008 提供多种版本(企业版、标准版、工作组版、网络版、开发版、数据中心版、精 简版等)供不同客户根据自己的应用方案需要选择相应版本。安装完成后可以通过 T-SQL 语句 SELECT @@version 来查询自己电脑上安装的 SQL Server 版本。 SQL Server 2008 R2 是 2008 的增强版,共有 7 个不同的版本: ◼ 企业版 Enterprise Edition ◼ 标准版 Standard Edition ◼ 工作组版 Workgroup Edition ◼ 网络版 Web Edition ◼ 开发版 Developer Edition ◼ 精简版 Express Edition ◼ 数据中心版 Datacenter Edition 安装完成后找到 SQL Server Management Studio(SSMS,SQL Server 管理平台)是一 个集成、统一的管理工具组。在 SQL Server2005 版本之后开始使用这个工具组来开发、配 置 SQL Server 数据库。 SQL Server 配置 (1)启动 SQL Server 服务 ◼ 法 1:计算机右键管理-服务-SQL Server(MSSQLSERVER) ◼ 法 2:SQL Server 配置管理器(SQL Server Configuration Manager)- SQL Server 服务-绿色表示正在运行的服务,红色表示已停止- SQL Server(MSSQLSERVER) (2)服务器连接 ◼ 服务器类型——默认数据库引擎 第一次启动 SSMS 时在本地计算机上自动完成数据库服务器的注册,即注册 SQL Server 本地实例。如果安装时使用默认实例,数据库系统已准备好。否则需要新建注册服务器。可 以注册以下类型的服务器: a) Database Engine 数据库引擎,是 SQL Server 用于存储、处理和保护数据的核心服
务,例如,查询数据、创建数据库、创建表和视图、数据查询等操作都是由数据库引擎完成的。b)AnalysisServices分析服务,简称SSAS,商业智能应用程序提供联机分析处理(OLAP)和数据挖掘功能。c)IntegrationServices集成服务,简称SSiS,主要用于清理、聚合、合并、复制数据的转换以及管理SSIS包。d)ReportingServices报表服务,简称SSRS,是基于服务器的报表平台,可以用来创建和管理包含关系数据源和多维数据源中的数据的表格、矩阵、图形和自由格式的报表。险服务器名称一一本机名称或Localhost(本机)或.或本机IP地址(运行cmd输入ipconfig)国身份验证a)Windows验证模式:以计算机系统管理员身份登录计算机即可通过验证b)SQLServer验证模式:通过SQLServer登录名和密码进行登录。(注册时选择了混合验证模式)c)若要新建SQLServer验证模式的登录名,在对象资源管理器中,找到安全性中的登录名选项。右击鼠标在弹出的快捷菜单中选择“新建登录名”,输入一个自定义的登录名,选中"SQLServer身份验证"选项,输入密码,并将"强制密码过期"复选框中的勾去掉。至此使用新建的登录名和密码能够以SQLServer验证模式登录服务器。亦可用于远程登录。2.1.2SQLServerManagement Studio环境查询宝特型格净品品#执行教班提权美活管理器家格新建查询aeyiste39SL净4en杏波结果-cconRO#AA4三1PoCna#药品草装-444对象资调管理器”富格enaF6=SSMS有以下两个常用的工具:(1)对象资源管理器是一种图形化的管理工具,以树视图浏览所有的数据库及其对象。利用对象资源管理器可以查看所有的数据库对象。常用的数据库对象如下所示,我们将在后面的章节中一一学习
务,例如,查询数据、创建数据库、创建表和视图、数据查询等操作都是由数据库 引擎完成的。 b) Analysis Services 分析服务,简称 SSAS,商业智能应用程序提供联机分析处理(OLAP) 和数据挖掘功能。 c) Integration Services 集成服务,简称 SSIS,主要用于清理、聚合、合并、复制数据 的转换以及管理 SSIS 包。 d) Reporting Services 报表服务,简称 SSRS,是基于服务器的报表平台,可以用来创 建和管理包含关系数据源和多维数据源中的数据的表格、矩阵、图形和自由格式的 报表。 ◼ 服务器名称——本机名称或 Localhost(本机)或. 或本机 IP 地址(运行 cmd 输入 ipconfig) ◼ 身份验证 a) Windows 验证模式:以计算机系统管理员身份登录计算机即可通过验证; b) SQL Server 验证模式:通过 SQL Server 登录名和密码进行登录。(注册时选择 了混合验证模式) c) 若要新建 SQL Server 验证模式的登录名,在对象资源管理器中,找到安全性 中的登录名选项。右击鼠标在弹出的快捷菜单中选择“新建登录名”,输入一个 自定义的登录名,选中“SQL Server 身份验证”选项,输入密码,并将“强制密码 过期”复选框中的勾去掉。至此使用新建的登录名和密码能够以 SQL Server 验 证模式登录服务器。亦可用于远程登录。 SQL Server Management Studio 环境 SSMS 有以下两个常用的工具: (1)对象资源管理器 是一种图形化的管理工具,以树视图浏览所有的数据库及其对象。利用对象资源管理器 可以查看所有的数据库对象。常用的数据库对象如下所示,我们将在后面的章节中一一学习
?表Table:SOLServer中最主要的数据库对象,用来存储和操作数据的一种逻辑结构。视图View数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍然存放在导出视图的基本表中福约束:具有代表性的约束就是主键和外键。主键约束当前表记录的唯一性,外键约束当前表记录与其他表的关系函数Function:用户根据需要自定义满足特定功能的函数,以方便反复调用隆存储过程Procedure:是一组为了完成特定功能的SQL语句集合,经过编译后存储在数据库中。存储过程独立于表存在。国触发器Trigger:触发器是与表直接关联的特殊的存储过程,它与表紧密相连,基于表而建立,可视作表的一部分。(2)查询分析器是T-SQL编辑器,主要用于完成SQL查询、程序设计等。新建查询-输入SQL命令-单击!执行-返回结果。SELECT @@VERSIONN--查询SQLServer版本GO--查询当前服务器的数据库SELECT * FROM sys.databasesGOSELECT *FROMPXSCJ.dbo.XSBWHERE学号-081101--查询数据表中记录GO颜色解释颜色解释蓝色参数大写关键字青绿色红色青色字符串系统表、系统视图暗绿色注释深灰色运算符洋红色系统函数褐紫红色存储过程2.1.3SQL语言由于关系模型的广泛应用,关系型数据库管理系统RDBMS成为主流。RDBMS的标准语言是SQL(StructuredQueryLanguage,结构化查询语言),但不同DBMS之间的SQL不能完全通用,Microsoft公司的SQLServer数据库系统支持的是Transact-SQL(T-SQL),而甲骨文公司的Oracle数据库系统使用的SQL是PL-SQL。■数据定义语言DataDefinitionLanguage,DDL:用于对数据库以及数据库中的各种对象进行创建、删除、修改等操作。如前所述,数据库对象主要包括表、默认约束、规则、视图、触发器、存储过程。DDL包括的主要语句及功能如下表所示
◼ 表 Table:SQL Server 中最主要的数据库对象,用来存储和操作数据的一种逻辑结构。 ◼ 视图 View:数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍然存放 在导出视图的基本表中; ◼ 约束:具有代表性的约束就是主键和外键。主键约束当前表记录的唯一性,外键约束当 前表记录与其他表的关系; ◼ 函数 Function:用户根据需要自定义满足特定功能的函数,以方便反复调用; ◼ 存储过程 Procedure:是一组为了完成特定功能的 SQL 语句集合,经过编译后存储在数 据库中。存储过程独立于表存在。 ◼ 触发器 Trigger:触发器是与表直接关联的特殊的存储过程,它与表紧密相连,基于表 而建立,可视作表的一部分。 (2)查询分析器 是 T-SQL 编辑器,主要用于完成 SQL 查询、程序设计等。新建查询-输入 SQL 命令-单 击!执行-返回结果。 SELECT @@VERSION -查询 SQL Server 版本 GO SELECT * FROM sys.databases -查询当前服务器的数据库 GO SELECT * FROM PXSCJ.dbo.XSB WHERE 学号='081101' -查询数据表中记录 GO 颜 色 解 释 颜 色 解 释 蓝色 大写关键字 青绿色 参数 红色 字符串 青色 系统表、系统视图 暗绿色 注释 深灰色 运算符 洋红色 系统函数 褐紫红色 存储过程 SQL 语言 由于关系模型的广泛应用,关系型数据库管理系统 RDBMS 成为主流。RDBMS 的标准 语言是 SQL(Structured Query Language, 结构化查询语言) ,但不同 DBMS 之间的 SQL 不 能完全通用,Microsoft 公司的 SQL Server 数据库系统支持的是 Transact-SQL(T-SQL),而甲 骨文公司的 Oracle 数据库系统使用的 SQL 是 PL-SQL。 ◼ 数据定义语言 Data Definition Language,DDL:用于对数据库以及数据库中的各种对 象进行创建、删除、修改等操作。如前所述,数据库对象主要包括表、默认约束、规 则、视图、触发器、存储过程。DDL 包括的主要语句及功能如下表所示
句语功能说明不同数据库对象,其CREATE语句的CREATE创建数据库或数据库对象语法形式不同不同数据库对象,其ALTER语句的对数据库或数据库对象进ALTER行修改语法形式不同不同数据库对象,其DROP语句的语DROP删除数据库或数据库对象法形式不同数据操纵语言DataManipulationLanguage,DML:用于操纵数据库中的各种对象,检索和修改数据。DML包括的主要语句及功能如下表所示。语句功能说明从表或视图中检索数据是使用最频繁的SQL之一SELECTINSERT将数据插入到表或视图中既可修改表或视图的一行数据,也可UPDATE修改表或视图中的数据修改一组或全部数据DELETE从表或视图中删除数据可根据条件删除指定的数据数据控制语言DataControlLanguage,DCL:用于安全管理,确定哪些用户可以查看或修改数据库中的数据。DCL包括的主要语句及功能如下表所示。语句功能说明可把语句许可或对象许可的权限授予其他授予权限GRANT用户和角色与GRANT的功能相反,但不影响该用户或收回权限REVOKE角色从其他角色中作为成员继承许可权限收回权限,并禁止从其功能与REVOKE相似,不同之处是,除收DENY他角色继承许可权限回权限外,还禁止从其他角色继承许可权限其它语言要素Additional LanguageElements(DECLARE/OPEN/FETCH/CLOSE)这些T-SQL语言可以在SSMS的查询分析器中单独输入和运行,保存成.sqI文件(SQL脚本,用SQL语言写的批处理文件)供下次执行;也可以采用T-SQL语言把它们组织起来,作为存储过程或者触发器程序,在调用存储过程或触发器事件成立时一起执行。后者以数据库对象的形式预编译后存在数据库中,执行速度快很多。PS:GO命令不是T-SQL语句,而是SSMS查询分析器识别的命令,因此不能与T-SQL语句置于同一行,否则运行会发生错误。GO命令向SQLServer实例发送当前批T-SQL语句(结束)的信号(当前批语句由上一个GO命令后输入的所有语句组成)。如果只执行一条语句,有没有GO命令区别不大。但如果是多条语句,每个被GO隔开的语句都是一个单独的事务,其中一个事务(批语句)执行失败不会影响其它批语句的执行
语 句 功 能 说 明 CREATE 创建数据库或数据库对象 不同数据库对象,其 CREATE 语句的 语法形式不同 ALTER 对数据库或数据库对象进 行修改 不同数据库对象,其 ALTER 语句的 语法形式不同 DROP 删除数据库或数据库对象 不同数据库对象,其 DROP 语句的语 法形式不同 ◼ 数据操纵语言 Data Manipulation Language, DML:用于操纵数据库中的各种对象, 检索和修改数据。DML 包括的主要语句及功能如下表所示。 语 句 功 能 说 明 SELECT 从表或视图中检索数据 是使用最频繁的 SQL 之一 INSERT 将数据插入到表或视图中 UPDATE 修改表或视图中的数据 既可修改表或视图的一行数据,也可 修改一组或全部数据 DELETE 从表或视图中删除数据 可根据条件删除指定的数据 ◼ 数据控制语言 Data Control Language, DCL:用于安全管理,确定哪些用户可以查看 或修改数据库中的数据。DCL 包括的主要语句及功能如下表所示。 语 句 功 能 说 明 GRANT 授予权限 可把语句许可或对象许可的权限授予其他 用户和角色 REVOKE 收回权限 与 GRANT 的功能相反,但不影响该用户或 角色从其他角色中作为成员继承许可权限 DENY 收回权限,并禁止从其 他角色继承许可权限 功能与 REVOKE 相似,不同之处是,除收 回权限外,还禁止从其他角色继承许可权限 ◼ 其它语言要素 Additional Language Elements (DECLARE/OPEN/FETCH/CLOSE) 这些 T-SQL 语言可以在 SSMS 的查询分析器中单独输入和运行,保存成.sql 文件(SQL 脚本,用 SQL 语言写的批处理文件)供下次执行;也可以采用 T-SQL 语言把它们组织起来, 作为存储过程或者触发器程序,在调用存储过程或触发器事件成立时一起执行。后者以数据 库对象的形式预编译后存在数据库中,执行速度快很多。 PS:GO 命令不是 T-SQL 语句,而是 SSMS 查询分析器识别的命令,因此不能与 T-SQL 语句置于同一行,否则运行会发生错误。GO 命令向 SQL Server 实例发送当前批 T-SQL 语 句(结束)的信号(当前批语句由上一个 GO 命令后输入的所有语句组成)。如果只执行一 条语句,有没有 GO 命令区别不大。但如果是多条语句,每个被 GO 隔开的语句都是一个单 独的事务,其中一个事务(批语句)执行失败不会影响其它批语句的执行
2.2SQLServer数据库在SQLServer中有两类数据库,即系统数据库和用户数据库。系统数据库存储有关SQLServer得系统信息,它们是SQLServer管理数据库的依据。图如果系统数据库遭到破坏,那么SQLServer就不能正常启动。在安装SQLServer时系统创建了4个可见的系统数据库:master、model、msdb和tempdb。a)master数据库包含了SQLServer得登录账号、系统配置、数据库位置以及数据库错误信息等,控制用户数据库和SQLServer的运行。b)model数据库为新创建的数据库提供模板。c)msdb数据库为"SQLServer"代理调度信息和作业记录提供存储空间。d)tempdb数据库为临时表和临时存储过程提供存储空间,所有与系统连接用户的临时表和临时存储过程都存储于该数据库中。■用户数据库是用户创建的数据库。用户数据库与系统数据库结构相同,文件的扩展名也相同。2.2.1逻辑数据库VS.物理数据库SQLServer能够支持多个数据库,在一个服务器上最多可以创建32767个数据库。创建数据库的用户将成为该数据库的拥有者,数据库中的数据和各逻辑对象存储在操作系统文件或文件组中。对于用户来说,创建一个数据库并不难,但对于创建数据库前的物理存储规划和逻辑存储规划往往不够重视,导致创建的数据库在实际使用中不是很理想。对于SQLServer数据库,从不同角度所关心的内容是不同的。从使用数据库的用户角度来说,他是一个逻辑数据库,用户只需要知道如何操作它就可以,使用的主要是一些逻辑组件(对象),如表、视图、存储过程等。而对于DBA来说,还需要关心数据库多大,保存在什么地方,如何提高效率等,把数据库看成是物理数据库。数据库XYZ用户视图Table:abcTable:defTable.ghi物理实现Data2.ndata01.R(1)逻辑数据库SQLServer数据库是存储数据的容器,是一个由存放数据的表和支持这些数据的存储、检索、安全性和完整性的逻辑成分所组成得集合,组成数据库的逻辑成分称为数据库对象。SQLServer数据库对象主要包括表、视图、约束、索引、函数、存储过程和触发器等
2.2 SQL Server 数据库 在 SQL Server 中有两类数据库,即系统数据库和用户数据库。 ◼ 系统数据库存储有关 SQL Server 得系统信息,它们是 SQL Server 管理数据库的依据。 如果系统数据库遭到破坏,那么 SQL Server 就不能正常启动。在安装 SQL Server 时, 系统创建了 4 个可见的系统数据库:master、model、msdb 和 tempdb。 a) master 数据库包含了 SQL Server 得登录账号、系统配置、数据库位置以及数据库 错误信息等,控制用户数据库和 SQL Server 的运行。 b) model 数据库为新创建的数据库提供模板。 c) msdb 数据库为“SQL Server”代理调度信息和作业记录提供存储空间。 d) tempdb 数据库为临时表和临时存储过程提供存储空间,所有与系统连接用户的临 时表和临时存储过程都存储于该数据库中。 ◼ 用户数据库是用户创建的数据库。用户数据库与系统数据库结构相同,文件的扩展名也 相同。 逻辑数据库 VS. 物理数据库 SQL Server 能够支持多个数据库,在一个服务器上最多可以创建 32767 个数据库。创 建数据库的用户将成为该数据库的拥有者,数据库中的数据和各逻辑对象存储在操作系统文 件或文件组中。对于用户来说,创建一个数据库并不难,但对于创建数据库前的物理存储规 划和逻辑存储规划往往不够重视,导致创建的数据库在实际使用中不是很理想。 对于 SQL Server 数据库,从不同角度所关心的内容是不同的。从使用数据库的用户角 度来说,他是一个逻辑数据库,用户只需要知道如何操作它就可以,使用的主要是一些逻辑 组件(对象),如表、视图、存储过程等。而对于 DBA 来说,还需要关心数据库多大,保存 在什么地方,如何提高效率等,把数据库看成是物理数据库。 (1)逻辑数据库 SQL Server 数据库是存储数据的容器,是一个由存放数据的表和支持这些数据的存储、 检索、安全性和完整性的逻辑成分所组成得集合,组成数据库的逻辑成分称为数据库对象。 SQL Server 数据库对象主要包括表、视图、约束、索引、函数、存储过程和触发器等