![第2章 SQL Server基础教材_第1页](http://file4.renrendoc.com/view12/M06/09/31/wKhkGWX5Ck6AVw6ZAAHbu0d3M5w568.jpg)
![第2章 SQL Server基础教材_第2页](http://file4.renrendoc.com/view12/M06/09/31/wKhkGWX5Ck6AVw6ZAAHbu0d3M5w5682.jpg)
![第2章 SQL Server基础教材_第3页](http://file4.renrendoc.com/view12/M06/09/31/wKhkGWX5Ck6AVw6ZAAHbu0d3M5w5683.jpg)
![第2章 SQL Server基础教材_第4页](http://file4.renrendoc.com/view12/M06/09/31/wKhkGWX5Ck6AVw6ZAAHbu0d3M5w5684.jpg)
![第2章 SQL Server基础教材_第5页](http://file4.renrendoc.com/view12/M06/09/31/wKhkGWX5Ck6AVw6ZAAHbu0d3M5w5685.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库与程序设计高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社
第1章数据库技术基础
第2章SQLServer基础第3章数据库管理第4章查询和视图第5章存储过程和触发器第6章基于Web的数据库开发技术第7章数据库应用开发案例第8章数据库安全性与维护目
录高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社第2章SQLServer基础
2.1MSSQLServer2005的安装与配置2.2Transact-SQL语言基础2.3T-SQL其他语言元素高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.1MSSQLServer2005功能简介1.企业数据管理提供管理控制台,使数据管理员能够在任何地方监视、管理和调谐企业中所有的数据库。主要体现在以下几方面:(1)可用性。高度可用性技术、补充备份与恢复功能以及复制增强特性等。(2)伸缩性。表分区、快照隔离和64位支持等伸缩特性。(3)安全性。缺省安全保障设置、数据库加密和安全模型等增强特性。(4)易管理性。利用管理工具套件、自我调节能力和功能强大的新式编程模型,数据库管理员可以针对数据库的日常运转进行灵活掌控。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.1MSSQLServer2005功能简介2.应用开发在数据库上开发应用程序可以分成两个方面:(1)Transact-SQL(T-SQL),是用于SQLServer的功能最强大的编程语言,用户可以通过编写T-SQL查询语句来完成对数据库的操作。(2)通用语言运行时CLR(CommonLanguageRuntime),CLR是微软.Net框架的一部分,用来管理用任意支持的语言编写的程序执行、允许他们分享用任意语言编写的通用的面向对象的类的程序。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.1MSSQLServer2005功能简介2.应用开发程序员使用任何语言,如:Visual
Basic、VisualC++、或者C#
编写的程序,经过编译成程序中间件的形态,称为CommonIntermediateLanguage(通用中间语言,CIL),成为被CLR管理和执行的PE文件。在SQLServer2005中,CLR允许编程人员直接在SQLServer中创建存储过程,触发器,用户定义函数,集合和类型。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.1MSSQLServer2005功能简介3.商业智能商业智能(BusinessIntelligence,BI)不是专指一项具体的技术,它是一种解决方案,其目的就是把用户积累下来的、大量的数据转化为业务人员容易理解的信息。包括:数据仓库(DataWarehouse,DW)、联机分析处理(On-LineAnalyticalProcessing,OLAP)、数据挖掘(DataMining,DM)、决策支持系统(DecisionSupportSystem,DSS)等技术。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.2安装MSSQLServer20051.数据库服务器MicrosoftSQLServer2005的安装下表给出了SQLSever2005(32位)所需的最低软硬件环境要求高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置软硬件类型最低要求CPU(处理器)500MHz或更快处理器(推荐1GHz或更快)内存容量除ExpressEdition版本128M外,其余版本至少512M,建议1GB或更大硬盘空间完全安装需要350MB硬盘空间,要安装示例数据库还需要390MB显示器VGA或更高分辨率,SQLserver2005图形工具要求1024*768或更高的屏幕分辨率光盘驱动器单机需要,也可以通过网络上的共享光盘驱动器安装操作系统SQLServer2005EnterpriseEdition和StandardEdition可在以下操作系统上运行:WindowsServer2003StandardEdition/
EnterpriseEdition
/DatacenterEditionWindowsSmallBusinessServer2003StandardEdition/
PremiumEditionWindows2000Server/
AdvancedServer/
DatacenterServerSQLServer2005WorkgroupEdition可在以上列出的操作系统上运行,此外还包括:WindowsXPProfessional/MediaEdition/TabletEdition(SP2或更高版本)Windows2000Professional(SP4或更高版本)SQLServer2005DeveloperEdition和ExpressEdition可在以上列出的操作系统上运行,此外还包括:WindowsXPHomeEdition(SP2或更高版本)WindowsServer2003WebEdition4(仅限于Express)其他需求InternetExplorer6.0或更高版本高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.2安装MSSQLServer20051.数据库服务器MicrosoftSQLServer2005的安装安装步骤详见教材P35~37高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.2安装MSSQLServer20052.1.3MSSQLServer2005管理工具在安装的“MicrosoftSQLServer2005”程序组中,有两个重要的工具:“SQLServerManagementStudio”,完成数据库的操作“配置工具”程序组中的“SQLServerConfigurationManager”,负责数据库服务器本身的配置。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.2安装MSSQLServer20052.1.3MSSQLServer2005管理工具1.SQLServerManagementStudio工具SQLServerManagementStudio用于通过控制台完成数据库的操作,即数据库管理员可以通过SQL命令方式来操作数据库。执行“SQLServerManagementStudio”,显示数据库服务器连接界面,如图2-13所示。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.2安装MSSQLServer20052.1.3MSSQLServer2005管理工具1.SQLServerManagementStudio高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.2安装MSSQLServer20052.1.3MSSQLServer2005管理工具在图2-13中,单击“连接”按钮,连接数据库服务器,如图2-14所示。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.2安装MSSQLServer20052.1.3MSSQLServer2005管理工具1.SQLServerManagementStudio在“MicrosoftSQLServerManagementStudio”中可以进行数据库的操作,包括创建数据库,数据表,进行数据的维护等操作。详细介绍见第3、4、5章。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.2安装MSSQLServer20052.1.3MSSQLServer2005管理工具2.SQLServerConfigurationManagerSQLServerConfigurationManager工具负责数据库服务器本身的配置。数据库管理员(DBA)通过图2-15的“SQLServerConfigurationManager”界面可以一并管理SQLServer所提供的服务、服务器与客户端通信协议以及客户端其他的的基本配置管理。执行“SQLServerConfigurationManager”程序,如图2-15所示。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.2安装MSSQLServer20052.1.3MSSQLServer2005管理工具2.SQLServerConfigurationManager在SQLServerConfigurationManager窗口中,右侧窗格显示了目前各种服务的状态,在某种服务上右单击,可以停止、开启SQLServer等服务,来完成数据库的维护。例如,要复制数据库文件,首先应该停止SQLServer服务,文件复制完毕后,重新开启该服务。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.2安装MSSQLServer20052.1.3MSSQLServer2005管理工具2.SQLServerConfigurationManager高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.2安装MSSQLServer20052.1.3MSSQLServer2005管理工具2.SQLServerConfigurationManager高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.1MSSQLServer2005的安装与配置2.1.2安装MSSQLServer20052.1.4SQLServer2005文档/zh-cn/library/ms203721(SQL.90).aspx
高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.1SQL语言和Transact-SQL语言1.SQL语言简介SQL全称为StructuredQueryLanguage即结构化查询语言,是关系数据库管理系统的标准语言,用于存取数据以及查询、更新和管理关系数据库系统。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.1SQL语言和Transact-SQL语言1.SQL语言简介1986年美国国家标准局(ANSI)制定了SQL标准文本(简称ANSISQL-86)。此后不断修改、扩充和完善,1992年,国际标准化组织(ISO)发布了SQL国际标准,称为SQL-92。ANSI随之发布的相应标准是ANSISQL-92。尽管不同的关系数据库使用的SQL版本有一些差异,但大多数都遵循ANSISQL标准。SQL-2003标准包含了XML相关内容,自动生成列值;SQL-2006标准定义了SQL与XML(包含XQuery)的关联应用。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.1SQL语言和Transact-SQL语言1.SQL语言简介目前,绝大多数流行的关系型数据库管理系统(如Oracle、Sybase、MicrosoftSQLServer、Access等)都采用了SQL语言标准,使不同数据库系统之间可以相互操作。SQL已成为关系数据库领域中一个主流语言。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.1SQL语言和Transact-SQL语言2.SQL语言的特点其主要特点包括:(1)综合统一语言风格统一,是一种一体化的语言,包括数据定义、数据查询、数据操纵和数据控制功能,可以独立完成数据库的全部操作。SELECTsno,sname,sdeptFROMstudentWHERE
ssex=N'女'高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.1SQL语言和Transact-SQL语言2.SQL语言的特点(2)高度非过程化它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,即只具体提出“做什么”而无须知道“怎么做”。因此,具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。(3)面向集合的操作方式核心是查询,操作对象、查询结果、更新数据均可以是元组的集合。Sno(学号)Sname(姓名)Ssex(性别)Sdept(专业)Szzmm(政治面貌)Sresume(简历)Sbirthday(生日期)2005001
张兰
女
信管党员
null
1990-10-10
2005002
王小惠
女
工商团员null
1991-3-12
2005003
李力
男
信管团员null
1989-8-18
2005004
胡晨
男
会计党员null
1990-1-1
高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.1SQL语言和Transact-SQL语言2.SQL语言的特点(4)以同一种语法结构提供两种使用方式SQL既是自含式语言,又是嵌入式语言。SQL作为自含式语言,能够独立地用于联机交互的使用方式直接操作。作为嵌入式语言,SQL语句可以嵌入到如VB、PB等的前端开发平台上,利用前端工具的计算能力和SQL的数据库操纵能力,可以快速地建立数据库应用程序。(5)语言简洁,易学易用SQL语言类似于人类的自然语言,即接近英语,只用几个英文单词的组合就能完成所有功能。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.1SQL语言和Transact-SQL语言3.SQL语言的构成SQL语言包含三部分:(1)数据定义语言(DataDefinitionLanguage,DDL):用于定义关系数据库的模式、外模式和内模式,以实现对数据库、基本表、视图及索引文件的定义、修改和删除等操作。最常用的DDL语句是:CREATE语句,创建数据库对象结构;DROP语句,删除数据库对象;ALTER语句,修改数据库对象结构。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.1SQL语言和Transact-SQL语言3.SQL语言的构成SQL语言包含三部分:(2)数据操作语言(DataManipulationLanguage,DML):用于完成数据查询和数据更新操作。其中数据更新指对数据进行插入、删除和修改操作。最常使用的DML语句是:SELECT语句,查询数据;INSERT语句,添加数据;UPDATE语句,修改数据;DELETE语句,删除数据。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.1SQL语言和Transact-SQL语言3.SQL语言的构成SQL语言包含三部分:(3)数据控制语言(DataControlLanguage,DCL):用于控制对数据库的访问,服务器的关闭、启动等操作。常使用的DCL命令有:GRANT语句,允许对象的创建者给某用户或某组或所有用户(PUBLIC)某些特定的权限;REVOKE语句,废除某用户或某组或所有用户访问权限;COMMIT语句,提交当前事务;ROLLBACK语句,即“回滚”,删除由一个或多个部分完成的事务执行的更新。为在应用程序、数据库或系统错误后还原数据库的完整性,需要使用回滚。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.1SQL语言和Transact-SQL语言4.Transact-SQL语言简介Transact-SQL语言即T-SQL,是微软公司遵循ANSISQL-92标准在MicrosoftSQLServer系统中使用的语言。在SQL的基础上扩展,通过SQLServer的数据引擎来分析和运行。是使用SQLServer的核心,通过它,可以定义变量、使用流控制语句、自定义函数、自定义存储过程等,并且与SQLServer实例通信的所有应用程序都通过将Transact-SQL语句发送到服务器来实现的。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.1SQL语言和Transact-SQL语言4.Transact-SQL语言简介在MicrosoftSQLServer2005系统中,根据Transact-SQL语言的功能特点,把Transact-SQL语言分成5部分:数据定义语言、数据操纵语言、数据控制语言、事务管理语言附加的语言元素。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.1SQL语言和Transact-SQL语言4.Transact-SQL语言简介(1)数据定义语言(DDL)用于定义和管理数据库以及数据库中各种对象,主要包括CREATE语句、ALTER语句、DROP语句。在SQLServer中,数据库对象包括表、视图、触发器、存储过程、规则、默认、索引、函数、用户自定义的数据类型等。这些对象的创建、修改和删除等都可以通过使用CREATE、ALTER、DROP等Transact-SQL语句来完成。DDL还包括安全保密定义,如口令、级别、存取权限等。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.1SQL语言和Transact-SQL语言4.Transact-SQL语言简介(2)数据操纵语言(DML)实现对数据库中数据的基本操作,如查询、插入、修改和删除,主要包括SELECT、INSERT、UPDATE、DELETE等语句。(3)数据控制语言(DCL)实现有关安全管理的操作,用来设置或更改数据库用户或角色权限,主要包括GRANT、REVOKE和DENY等语句。(4)事务管理语言(TML)用来管理显式事务,主要包括BEGINTRANSACTION、COMMITTRANSACTION、ROLLBACKTRANSACTION等语句。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.1SQL语言和Transact-SQL语言4.Transact-SQL语言简介(5)Transact-SQL语言的附加语言元素主要包括:标识符(对象的名字)、数据类型、变量和常量、运算符、表达式、函数、控制流语言、错误处理语言、注释等。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.2T-SQL语句的功能及语法规定1.T-SQL语句的功能在数据库上执行的大部分工作都由SQL语句完成。在程序中,可以组织SQL语句发送给数据库,数据库再执行相应的操作。在MicrosoftSQLServer2005中,T-SQL语句主要完成以下功能:①创建数据库及数据库对象;②操纵数据;③控制程序流程;④定义变量;⑤控制事务处理;⑥安全管理。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.2T-SQL语句的功能及语法规定2.T-SQL语句的语法规定每个T-SQL语句都有固定的格式,用户必须按相应的格式和语法规则使用,否则系统无法识别,认为是错误的。下面以ALTERTABLE语句为例介绍T-SQL语句的一般格式描述及语法规定。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.2T-SQL语句的功能及语法规定2.T-SQL语句的语法规定表2-1给出了Transact-SQL语句一般格式描述中使用的约定,并进行了说明。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.2T-SQL语句的功能及语法规定2.T-SQL语句的语法规定在T-SQL语句格式描述中,对数据库对象名的Transact-SQL引用一般是由四部分组成的名称,其格式如下:server_name.[database_name].[schema_name].object_name(服务器名.数据库名.架构名.对象名)|database_name.[schema_name].object_name|schema_name.object_name|object_name高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.2T-SQL语句的功能及语法规定2.T-SQL语句的语法规定其中:server_name:指定链接的服务器名称或远程服务器名称;database_name:如果对象驻留在SQLServer的本地实例中,则指定SQLServer数据库的名称;如果对象在链接服务器中,则database_name
将指定OLEDB目录。schema_name:如果对象在SQLServer数据库中,则指定包含对象的架构的名称。如果对象在链接服务器中,则schema_name
将指定OLEDB架构名称。架构是一组数据库对象的集合,它被单个负责人(可以是用户或角色)所拥有并构成唯一命名空间。你可以将架构看成是对象的容器。object_name:对象的名称。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.2T-SQL语句的功能及语法规定2.T-SQL语句的语法规定表2-2对象名引用的有效格式
对象引用格式说明server.database.schema.object四个部分的名称。server.database..object省略架构名称。server..schema.object省略数据库名称。server...object省略数据库和架构名称。database.schema.object省略服务器名。database..object省略服务器和架构名称。schema.object省略服务器和数据库名称。object省略服务器、数据库和架构名称。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.2T-SQL语句的功能及语法规定2.T-SQL语句的语法规定对T-SQL语句的语法格式主要有以下规定:(1)语句中的字母大小写均可;(2)关键字(保留字)有特殊用途,不得使用标识符;(3)语句中的日期型常量和字符型常量必须用单引号括起来;(4)语句中的标点符号必须用英文标点,即半角符号;(5)一条语句可以分行写,一行也可以写多条语句。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.2T-SQL语句的功能及语法规定3.简单输出语句数据的简单输出主要使用PRINT语句或通过SELECT语句无源查询来实现。(1)PRINT语句PRINT语句的语法格式如下:PRINT
常量
|
@局部变量
|
表达式|
函数
说明:PRINT语句一次只能输出一个常量或一个局部变量值或一个表达式的值。例如:PRINT369+2高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.2T-SQL语句的功能及语法规定3.简单输出语句(2)SELECT语句无源查询SELECT语句无源查询用来查询不在表中的数据,起到了数据简单输出的作用。SELECT语句无源查询的语法格式如下:SELECT
常量
|变量
|函数
|表达式
[as
别名][,…n]说明:SELECT语句无源查询一次可以输出若干个表达式的值,数据以列方式输出,每一列可起一个列别名。[as别名]用于起列别名,别名一般用单引号括起来。[,…n]表示可以同时输出多个表达式的值。例如:SELECT369AS‘A1’,369+2AS‘A2’或SELECT369ASA1,369+2ASA2高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.3T-SQL的标识符数据库对象的名称即为其标识符。MicrosoftSQLServer2005中的所有内容都可以有标识符。服务器、数据库和数据库对象(例如表、视图、列、索引、触发器、过程、约束及规则等)都可以有标识符。大多数对象要求有标识符,例如创建视图时必须定义表的标识符。但有些对象的标识符是可选的,例如创建约束时其标识符由系统自动生成,用户不必给出。对象标识符是在定义对象时创建的。标识符随后用于引用该对象。
高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.3T-SQL的标识符例如,下列语句创建一个标识符为sc的表,该表中有三列的标识符分别是sno、cno和grade:CREATETABLE
sc(snonvarchar(7)NOTNULLFOREIGNKEYREFERENCESstudent(sno),
cnonvarchar(3)NOTNULLFOREIGNKEYREFERENCEScourse(cno),
gradedecimal(4,1)NOTNULLCHECK(grade>0),CONSTRAINTc1PRIMARYKEY(sno,cno))创建(定义)标示符引用标示符高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.3T-SQL的标识符T-SQL语言规定了两类标识符:常规标识符分隔标识符高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.3T-SQL的标识符1.常规标识符常规标识符是严格按照标识符的格式规则定义的,在T-SQL语句中使用时不用将其分隔开的标识符。例如上例中的表的标识符sc。常规标识符格式规则:(1)第一个字符必须是下列字符之一:Unicode标准3.2所定义的字母,包括拉丁字符a-z和A-Z,以及来自其他语言的字母字符。下划线(_)、at符号(@)或数字符号(#)。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.3T-SQL的标识符1.常规标识符特别要注意的是,在SQLServer中,某些位于标识符开头位置的符号具有特殊意义。以一个at符号(@)开头的常规标识符始终表示局部变量或参数,并且不能用作任何其他类型的对象的名称。以一个数字符号(#)开头的标识符表示临时表或过程。以两个数字符号(##)开头的标识符表示全局临时对象。建议其他类型对象名的开头不要用数字符号或两个数字符号字符。某些Transact-SQL函数的名称以两个at符号(@@)开头。全局变量也是以两个at符号(@@)开头的。为了避免混淆,一般不应使用以@@开头的名称。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.3T-SQL的标识符1.常规标识符(2)后续字符(从第2个字符开始)可以包括:如Unicode标准3.2中所定义的字母。基本拉丁字符或其他国家/地区字符中的十进制数字。at符号、美元符号($)、数字符号或下划线。(3)标识符一定不能是Transact-SQL保留字。SQLServer可以保留大写形式和小写形式的保留字。(4)不允许嵌入空格或其他特殊字符。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.3T-SQL的标识符1.常规标识符(5)不允许使用增补字符。(6)变量名称和存储过程参数名称必须符合常规标识符的规则。(7)常规标识符包含的字符数必须在1到128之间。对于本地临时表,标识符最多可以有116个字符。(8)标识符中字母大小写等价。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.3T-SQL的标识符2.分隔标识符在Transact-SQL语句中使用标识符时,不符合常规表述格式规则的标识符必须由分隔符双引号(“)或者方括号([])括起来,称为分隔标示符。例如在下面的SELECT语句中表的标示符MyTable有空格,不是常规标示符,所以用方括号括起来。SELECT*FROM[MyTable]WHERE[order]=10高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.3T-SQL的标识符2.分隔标识符在T-SQL中分隔标示符使用的分隔符是双引号(“)或方括号([])。单引号只用于包含字符串,不能用于分隔标识符。但是,如果QUOTED_IDENTIFIER设为OFF,对于单引号和双引号的用法,SQLServer遵循以下规则:(1)引号不能用于分隔标识符,而必须将括号用作分隔符。(2)单引号或双引号可用于包含字符串。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.3T-SQL的标识符2.分隔标识符常规标识符可以使用分隔符,也可以不使用分隔符。不符合常规标识符格式规则的标识符必须使用分隔符。分隔符仅用于标识符。分隔符不能用于关键字(保留字)。分隔标识符的格式规则要求如下:(1)带分隔符的标识符可以包含的字符数与常规标识符相同,即可以包含1到128个字符,但不包括分隔符字符。本地临时表标识符最多可以包含116个字符。(2)标识符的主体可以包含当前代码页内字符(分隔符本身除外)的任意组合。例如,带分隔符的标识符可以包含空格、对常规标识符有效的任何字符以及表2-3中的任一字符。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
代字号~连字符-惊叹号!左括号{百分号%右括号}插入号^撇号'“与”符号&句点.左圆括号(反斜杠\右圆括号)重音符号
`高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型数据类型即数据形式,就是数据的存储形式和操作使用方式。数据类型用于指定对象可保存的数据的类型:如整数数据、字符数据、货币数据、日期和时间数据、二进制字符串等。在SQLServer中,每个列、局部变量、表达式和参数都具有一个相关的数据类型。SQLServer2005提供了7类共29种系统数据类型,同时还允许用户基于系统提供的数据类型使用Transact-SQL或Microsoft.NETFramework定义自己的数据类型。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型SQLServer2005提供的7大类系统数据类型为:精确数字类、近似数字类、Unicode字符串类、二进制字符串类、字符串类、日期和时间类以及其他数据类型。(var--variable)精确数字类包含bigint、int、smallint、tinyint、money、smallmoney、decimal、numeric、bit等9种数据类型。近似数字类包括float和real等2种数据类型。日期和时间类包括datetime、smalldatetime等2种数据类型。字符类包括char、text、varchar等3种数据类型。Unicode字符串类包括nchar、ntext、nvarchar等3种数据类型。
二进制字符串binary、image、varbinary等3种数据类型。其他数据类型包括cursor、timestamp、sql_variant、uniqueidentifier、table、xml等6种数据类型。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型在SQLServer2005中,根据其存储特征,某些数据类型被指定为属于下列各组:大值数据类型:varchar(max)、nvarchar(max)和varbinary(max)大型对象数据类型:text、ntext、image、varchar(max)、nvarchar(max)、varbinary(max)和xml高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型一般,两个相同类型的数据进行运算。当两个具有不同数据类型的表达式通过运算符进行组合时,结果的特征遵循以下原则:结果的数据类型是通过将数据类型的优先顺序规则应用到输入表达式的数据类型来确定的。有关详细信息,请参阅数据类型优先级(T-SQL)。结果数据类型为char、varchar、text、nchar、nvarchar或ntext时,结果的排序规则由排序规则的优先顺序规则确定。结果的精度、小数位数及长度取决于输入表达式的精度、小数位数及长度。SQLServer2005提供了数据类型同义词以保持SQL-92兼容性。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型1.整型数据类型整型数据类型用于表示整数的数据。使用整数数据的精确数字数据类型包括:bigint、int、smallint、tinyint、bit。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
表2-4给出了不同类型整型数据的取值范围及所占存储字节数。表2-4整型数据类型的数据特征数据类型取值范围存储bigint-2^63(-9,223,372,036,854,775,808)到2^63-1(9,223,372,036,854,775,807)8字节(固定长度)int-2^31(-2,147,483,648)到2^31-1(2,147,483,647)4字节(固定长度)smallint-2^15(-32,768)到2^15-1(32,767)2字节(固定长度)tinyint0到2551字节(固定长度)bit可以取值为1、0或NULL的整数数据类型*高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型1.整型数据类型bit是一种严格的数字类型,但是从编程人员的观点,它更多的是一种“其他”类型,因为它最通常被用于表示布尔值。SQLServer也允许使用True和False分别作为表示1和0的符号。字符串值TRUE和FALSE可以转换为以下bit值:TRUE转换为1,FALSE转换为0。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型2.货币数据类型货币数据类型专门用于处理货币,由整数部分和小数部分组成。SQLServer提供了两种货币类型:Moneysmallmoney货币数据类型数据最多可以包含4位小数,即精确到货币的万分之一。若数据的小数位超过4位,会自动进行四舍五入。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
表2-5给出了两种货币类型数据的取值范围及所占存储字节数。表2-5货币数据类型的数据特征数据类型取值范围存储money-922,337,203,685,477.5808到922,337,203,685,477.58078字节(固定长度)smallmoney-214,748.3648到214,748.36474字节(固定长度)高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型3.精确小数数据类型精确小数数据类型的数据是带固定精度和小数位数的数值。包括两种类型:Decimalnumeric精确小数数据类型的数据在定义时需要确定精度和小数位数,其格式如下:
decimal[(p[,s])]和numeric[(p[,s])]高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型3.精确小数数据类型其中p代表精度,最多可以存储十进制数字整数部分和小数部分的总位数,但不包括小数点。该精度必须是1到38之间的值。默认精度为18。s代表小数位数,默认小数位数为0。仅在指定精度后才可以指定小数位数,因此,0<=s<=p。例如:decimal、decimal(10)、numeric(10,2)精确小数数据类型的数据最大存储大小基于精度而变化,见表2-6。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型3.精确小数数据类型精度存储字节数1-9510-19920-281329-3817高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型4.近似数数据类型近似数数据类型是用于表示浮点数值数据的大值(或小值)数值数据类型。包括两种:Floatreal浮点数值数据即用科学记数法表示数据,能够存储范围更大的数值数据,但有时不能精确存储。因为浮点型数据的精度不能自行设置,若超出了精度范围,能够存储,但有误差。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型4.近似小数数据类型float类型的数据在定义时需要确定其尾数,其语法格式为:
float[(n)]其中n为用于存储float数值尾数的位数,以科学记数法表示,因此可以确定精度和存储大小(表2-8)。n必须是介于1和53之间的某个值。n的默认值为53。例如:float、float(6)高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型4.近似小数数据类型表2-7近似小数数据类型的数据特征数据类型范围存储float-1.79E+308至-2.23E-308、0以及2.23E-308至1.79E+308取决于n的值,n为1-24时4字节;n为25-53时8字节real-3.40E+38至-1.18E-38、0以及1.18E-38至3.40E+384字节(固定长度)高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型5.日期和时间数据类型日期和时间数据类型是用于表示某天的日期和时间数据的类型,包括两种类型:Datetimesmalldatetime日期时间型数据的默认显示格式“年-月-日小时:分钟:秒”。输入日期和时间数据类型的数据时,若略日期,则默认为当前日期;若省略时间,默认为0:00:00。输入日期时,年、月、日之间除了使用“-”作为分隔符,还可用“/”或“.”分开。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型5.日期和时间数据类型SQLServer2005用两个4字节(8字节)的整数内部存储datetime数据类型的值。第一个4字节存储“基础日期”(即1900年1月1日)之前或之后的天数。基础日期是系统参照日期。另外一个4字节存储天的时间,以午夜后经过的1/300秒数表示。smalldatetime数据精确度低于datetime的。数据库引擎将smalldatetime值存储为两个2字节(4字节)的整数。第一个2字节存储1900年1月1日后的天数。另外一个2字节存储午夜后经过的分钟数。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型5.日期和时间数据类型表2-9日期和时间数据类型数据的取值范围和精确度数据类型范围精确度datetime1753年1月1日到9999年12月31日3.33毫秒smalldatetime1900年1月1日到2079年6月6日1分钟高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型6.字符串数据类型字符串数据类型是用于表示字符串数据的。(char–character)字符串数据类型包括3类:Unicode字符串数据类型非Unicode字符串数据类型二进制字符串数据类型高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型(1)非Unicode字符串数据类型非Unicode字符串数据类型包括三种类型:charvarchartext高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型(1)非Unicode字符串数据类型①char类型char类型的数据是固定长度的非Unicode字符数据,长度为n个字节。char类型数据的长度n是在数据定义时确定的,其语法格式为:
char[(n)]n的取值范围为1至8000,存储大小是n个字节(每个字符占一个字节)。未指定n,则默认为1。例如:char、char(12) 高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型(1)非Unicode字符串数据类型②varchar类型varchar类型的数据是可变长度的非Unicode字符数据。其语法格式为:
varchar[(n|max)]n的取值范围为1至8000,max指示最大存储大小是2^31-1个字节。存储大小是输入数据的实际长度加2个字节。输入数据的长度可以为0个字符。如果在数据定义或变量声明语句中未指定n,则默认为1。如果在使用CAST和CONVERT函数(数据类型转换函数)时未指定n,则默认长度为30。例如:varchar、varchar(18)高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型(1)非Unicode字符串数据类型如果使用char或varchar,建议执行以下操作:如果列数据项的大小一致,则使用char。如果列数据项的大小差异相当大,则使用varchar。如果列数据项大小相差很大,而且大小可能超过8,000字节,请使用varchar(max)。当排序规则代码页使用双字节字符时,存储大小仍然为n个字节。根据字符串的不同,n个字节的存储大小可能小于n个字符。如果站点支持多语言,请考虑使用Unicode的nchar或nvarchar数据类型,以最大限度地消除字符转换问题。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型(1)非Unicode字符串数据类型③text类型text数据类型是专门用于存放大量字符的可变长度字符数据。当需要存储大于8000字节的字符串时,使用text数据类型。text数据类型的数据最大长度为2^31-1(2,147,483,647)个字符,大约为2GB。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型(2)Unicode字符串数据类型Unicode字符串数据类型是使用UNICODEUCS-2字符集表示字符串数据,也称为双字节字符串数据类型,即使用两个字节存储一个字符。Unicode数据类型解决了字符转换问题和针对不同国家安装多国代码问题,从而使得多种语言的数据存储变得更加容易。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型(2)Unicode字符串数据类型SQLServer2005的Unicode字符串数据类型有3种:ncharnvarcharntext
高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型(2)Unicode字符串数据类型①nchar类型nchar类型的数据是固定长度的Unicode字符串数据,nchar类型数据所含字符个数n是在数据定义时确定的。其语法格式为:
nchar[(n)]n值必须在1到4,000之间(含)。存储大小为两倍n字节。未指定n,则默认长度为1。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型(2)Unicode字符串数据类型②nvarchar类型nvarchar类型的数据是可变长度的Unicode字符串数据。其语法格式为:
nvarchar[(n|max)]n值在1到4,000之间(含)。max指示最大存储大小为2^31-1字节。存储大小是所输入字符个数的两倍+2个字节。所输入数据的长度可以为0个字符。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型(2)Unicode字符串数据类型③ntext类型ntext类型的数据是长度可变的Unicode数据,最大长度为2^30-1(1,073,741,823)个字符,约2GB。存储大小是所输入字符个数的两倍(以字节为单位)。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型(3)二进制字符串数据类型二进制字符串数据类型是用十六进制表示的字符串数据,有3种类型:binaryvarbinaryimage高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型(3)二进制字符串数据类型①binary类型binary类型用于表示长度为n字节的固定长度二进制字符串数据,长度n在数据定义时确定。其语法格式为:
binary[(n)]其中n是从1到8,000的值。存储大小为n字节。如果在数据定义或变量声明语句中未指定n,则默认长度为1。如果未使用CAST函数指定n,则默认长度为30。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型(3)二进制字符串数据类型②varbinary类型varbinary类型的数据是可变长度的二进制字符串数据。其语法格式为:
varbinary[(n|max)]n可以取从1到8,000的值。max指示最大的存储大小为2^31-1字节。存储大小为所输入数据的实际长度+2个字节。所输入数据的长度可以是0字节。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型(3)二进制字符串数据类型③image类型image类型的数据是长度可变的二进制数据,从0到2^31-1(2,147,483,647)个字节。在Image数据类型中存储的数据是以位字符串存储的,不是由SQLServer解释的,必须由应用程序来解释。例如,应用程序可以使用BMP、TIEF、GIF和JPEG格式等等,把数据存储在Image数据类型中。
高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型(3)二进制字符串数据类型binary和varbinary数据类型存储位串。尽管字符数据是根据MicrosoftSQLServer2005代码页进行解释的,但binary和varbinary数据仅是位流。如果列数据项的大小一致,则使用binary。如果列数据项的大小差异相当大,则使用varbinary。当列数据条目超出8,000字节时,请使用varbinary(max)。图片、office文档等文件数据,用image。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型7.其他数据类型(略)①Cursor数据类型这是变量或存储过程OUTPUT参数的一种数据类型,这些参数包含对游标的引用。使用cursor数据类型创建的变量可以为空。②Table数据类型Table数据类型是一种特殊的数据类型,用于存储结果集以进行后续处理。table主要用于临时存储一组作为表值函数的结果集返回的行。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型7.其他数据类型③Timestamp数据类型Timestamp数据类型公开数据库中自动生成的唯一二进制数字的数据类型。timestamp通常用作给表行加版本戳的机制。存储大小为8个字节。timestamp数据类型只是递增的数字,不保留日期或时间。若要记录日期或时间,请使用datetime数据类型。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.4T-SQL的数据类型7.其他数据类型④Xml数据类型使用xml数据类型,可以将XML文档和片段存储在SQLServer数据库中。XML片段是缺少单个顶级元素的XML实例。可以创建xml类型的列和变量,并在其中存储XML实例。注意,存储的xml数据类型表示实例大小不能超过2GB。注:XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.5T-SQL中的常量与变量1.常量常量也称为文字值或标量值,是表示一个特定数据值的符号。在整个操作过程中常量的值和表现形式保持不变。常量的格式取决于它所表示的值的数据类型。高等教育“十一五”国家级规划教材《数据库与程序设计》山东大学出版社2.2Transact-SQL语言基础
2.2.5T-SQL中的常量与变量1.常量常量按其所表示的值的数据类型,分为:非Unicode字符串常量、Unicode字符串常量、二进制常量、bit常量、datetime常量、integer常量、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- NX-1607-GMP-Cbl-b-IN-3-GMP-生命科学试剂-MCE-7412
- Isoorotidine-生命科学试剂-MCE-5873
- 3-Methoxy-prostaglandin-F1α-生命科学试剂-MCE-1002
- 二零二五年度红木家具品牌授权合同及清单
- 二零二五年度父母无偿赠与子女房产并约定维修责任协议
- 二零二五年度新能源储能技术融资合同
- 施工现场施工防突发公共卫生事件制度
- 施工单位关于协调配合的联络函
- 雨雪天气的应急预案
- 《运营管理 第7版》课件-chapt.05-选址与设施布置
- 乌海周边焦化企业概况
- 22S803 圆形钢筋混凝土蓄水池
- 2023年开心英语四年级上册全册练习
- Hadoop大数据开发实例教程高职PPT完整全套教学课件
- 新人教版小学数学五年级下册教材分析课件
- 企业中层管理人员测评问题
- 人教版高中地理必修一全册测试题(16份含答案)
- 《民航服务沟通技巧》教案第11课孕妇旅客服务沟通
- 新东方四级词汇-正序版
- 面向机器人柔顺操作的力位精准控制方法研究共3篇
- 《地下工程测试技术》课程教学大纲
评论
0/150
提交评论