版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQL Server2005 数据库技术及应用第6章 SQL SERVER 命名规则及SQL Server的数据类型 6.1 SQL Server命名规则6.2 SQL Server的数据类型SQL Server 20056.1 SQL Server命名规则 6.1.1标识符的分类SQL Server的所有对象,例如服务器名、数据库名、表名、常量、变量等都可以有一个标识符。对绝大多数对象来说,标识符是必不可少的。SQL Server一共规定了两种类型的标识符:一种是规则标识符,一种是界定标识符。规则标识符规则标识符严格遵守标识符有关格式的规定。所以在T-SQL语句中凡是规则标识符都不必使用界定
2、符,如和“”来进行限定。界定标识符 界定标识符是指使用了和“”等界定符号来进行位置限定的标识符。如果数据库对象的标识符不符合命名规则,则必须使用界定标识符来加以限定。 SQL Server 20056.1 SQL Server命名规则 【例6.1】从表123(假设存在这张表)中查询所有信息。SELECT * FROM 123在上例中表123违反了命名规则中第3条规定,所以必须加界定标识符加以限定。否则运行时编译器会返回如下错误信息:服务器: 消息 170,级别 15,状态 1,行 1第 1 行: 123 附近有语法错误。 SQL Server 20056.2SQL Server的数据类型 6.
3、2.1整数数据类型整型数据类型提供存储精确数字值的方法。以整数数据类型存储的数总是占用相同比例的存储空间。整数数据类型分为以下5类。Bit:称为位数据类型,其数据有两种取值:0和1,长度为1字节。为了优化存储空间,SQL Server在存储bit型数据时进行了优化,18个bit型数据占用1个字节空间,116个bit型数据占用2个字节空间,依次类推。 SQL Server 20056.2SQL Server的数据类型 Bigint:用于存储从-263(-9,223,372,036,854,775,807)到263-1(9,223,372,036,854,775,807)之间的所有正负整数,一共占
4、用8个字节。int(integer):int(或integer)数据类型可以存储从-231(-2,147,483,648)到231-1(2,147,483,647)范围之间的所有正负整数。以int整数类型存储的每个值占用4个字节,共32位,其中31位用作存储数字,1位用于表示正负。Smallint:可以存储从-215(-32,768)到215-1范围之间的所有正负整数。以Smallint数据类型存储的每个值占用2个字节,共16位,其中15位用作存储数字,1位用于表示正负。Tinyint:可以存储从0到255范围之间的所有正整数。以Tinyint数据类型存储的每个值占用1个字节。 整数型数据可以
5、在较少的字节里存储较大的精确数字,而且存储结构的效率很高。所以,平时在选用数字类型时,应尽量选用整数数据类型。 SQL Server 20056.2SQL Server的数据类型 6.2.2货币型数据货币数据类型专门用于货币数据处理,有以下2种类型。Money:用于存储货币值,存储在money数据类型中的数值以一个正数部分和一个小数部分存储在两个4字节的整型值中,存储范围为-922337213685477.5808到922337213685477.5808,精度为货币单位的万分之一。Smallmoney:与money数据类型类似,但其存储的货币值范围比money数据类型小,其存储范围为-214
6、748.3468到214748.3467。 SQL Server 20056.2SQL Server的数据类型 6.2.3数字数据类型数字数据类型数据包括Decimal和numeric:Decimal数据类型和numeric数据类型完全相同。它们可以提供小数所需要的实际存储空间,但也有一定的限制,可以用2到17个字节来存储从-1038-1到1038-1之间的数值。但是两者也有区别,在表格中,只有numeric型的数据可以带有identity关键字的列,decimal可以简写为dec。 声明数字数据类型的数据格式是numeric(p,s)或者decimal(p,s),其中p为精度,s为小数位数,
7、s的默认值为0。比如,25.423对应的数据类型为数字数据类型时,声明为decimal(5,3)。 SQL Server 20056.2SQL Server的数据类型 6.2.4浮点数据类型浮点数据类型用于存储十进制小数。浮点数值的数据在SQL Server中采用只入不舍的方式进行存储,浮点数据类型包括float和real两种类型。 Real:可以存储正的或者负的十进制数值,最大可以有7位精确位数。存储时使用4个字节。Float:可以精确到第15位小数,其范围从-1.79E-308到1.79E+308。用8个字节来存储。 SQL Server 20056.2SQL Server的数据类型 6.
8、2.5日期时间数据类型SQL Server提供的日期时间数据类型可以存储日期和时间的组合数据。以日期时间数据类型存储日期或时间的数据比使用字符型数据进行存储更简单。因为SQL Server提供了一系列专门处理日期和时间的函数来处理这类数据。而且,如果使用字符型数据来存储日期和时间,只有用户本人可以识别,计算机并不能识别,因此也不能自动将这些数据按照日期和时间来进行处理。日期时间数据类型有datetime和smalldatetime两种。Datetime:用于存储日期和时间的结合体,可以存储从公元1753年1月1日零时起-公元9999年12月31日23时59分59秒之间的所有日期和时间,其精确度
9、可达三百分之一秒,即3.33毫秒。当存储datetime数据类型时,默认的格式是:MM DD YYYY hh:mm A.M./P.M。当插入数据或者在其它地方使用datetime类型时,需要用单引号把它括起来。datetime数据类型允许使用/、-和.作为不同时间单位间的分隔符。Smalldatetime:存储从1900年1月1日-2079年6月6日内的日期,4个字节。 SQL Server 20056.2SQL Server的数据类型 6.2.6字符数据类型字符数据类型可以用来存储各种字母、数字符号和特殊符号。SQL Server提供了两类字符数据类型。Char:其定义形式为char(n),
10、每个字符和符号占用一个字节的存储空间。如果实际数据的字符长度短于给定的最大长度,则多余的字节会用空格填充。Varchar:其定义形式为varchar(n)。用char数据类型可以存储长达255个字符的可变长度字符串。在实际数据的字符长度短于给定的最大长度时,不会在多余的字节上填充空格。 SQL Server 20056.2SQL Server的数据类型 6.2.7统一码数据类型统一码数据类型是从SQL Server7.0开始提出的新数据类型,用于存储双字节字符,例如汉字。有以下两种类型:Nchar(n):nchar(n)是固定长度的双字节数据类型,n的取值范围是14000,所以可以存储的最大字
11、符数量是4000个字符。Nchar其他属性及使用方法和char数据类型一样。Nvarchar(n):存储可变长度的双字节数据类型,n的取值范围是04000,所以存储的最大字符数量也是4000个。Nvarchar其他属性及使用方法和varchar数据类型一样。 SQL Server 20056.2SQL Server的数据类型 6.2.8二进制数据类型所谓二进制数据是一些用十六进制来表示的数据,有以下两种类型。 Binary:其定义形式为binary(n),数据的存储长度是固定的,即n+4个字节。二进制数据类型的最大长度(即n的最大值)为8000,常用于存储图像等数据。Varbinary:其定义
12、形式为varbinary(n),数据的存储长度是变化的,它为实际所输入数据的长度加上4字节。 在输入二进制常量时,需在该常量前面加一个前缀0 x。 SQL Server 20056.2SQL Server的数据类型 6.2.9图象,文本数据类型为了方便存储和使用文本、图像等大型数据,SQL Server提供了以下三种类型数据。Text:容量可以在1-231-1个字节。在定义Text数据类型时,不需要指定数据长度,SQL Server会根据数据的长度自动为其分配空间。Ntext:采用unicode标准字符集,用于存储大容量文本数据。其理论上的容量为230-1(1,073,741,823)个字节。
13、Image:用于存储照片、目录图片或者图画,其理论容量为231-1(2,147,483,647)个字节。 SQL Server 20056.2SQL Server的数据类型 6.2.10新增数据类型sql_variant:用于存储除文本、图形数据和timestamp类型数据外的其它任何合法的SQL Server数据。table:用于存储对表或者视图处理后的结果集。这种新的数据类型使得变量可以存储一个表,从而使函数或过程返回查询结果更加方便、快捷。XML:XML数据类型是一用专门用于保存和操作XML的数据类型。它是以BLOB的二进制形式保存的,一个XML类型字段可以保存2GB的XML代码,层次可
14、达128层。此外,XML数据类型还有检验XML数据完整性的功能,比以前用text类型保存XML数据方便得多。 SQL Server 20056.2SQL Server的数据类型 6.2.11特殊数据类型Timestamp:也称作时间戳数据类型。是一种自动记录时间的数据类型,主要用于在数据表中记录其数据的修改时间。它提供数据库范围内的唯一值。Uniqueidentifier:也称作唯一标识符数据类型。Uniqueidentifier用于存储一个16字节长的二进制数据类型,它是SQL Server根据计算机网络适配器地址和CPU时钟产生的全局唯一标识符代码(Globally Unique Iden
15、tifier,简写为GUID)。 SQL Server 20056.2SQL Server的数据类型 6.2.12用户自定义数据类型用户自定义数据类型并不是真正的数据类型,它只是提供了一种加强数据库内部元素和基本数据类型之间一至性的机制。通过使用用户自定义数据类型能够简化对常用规则和默认值的管理。1用系统存储过程SP_ADDTYPE创建用户自定义数据类型使用存储过程SP_ADDTYPE的语法结构如下:SP_ADDTYPE typename= type,phystype= system_data_type, nulltype= null_type, owner= owner_name SQL S
16、erver 20056.2SQL Server的数据类型 参数说明: ntype:指定用户定义的数据类型的名称。nsystem_data_type:指定相应的系统提供的数据类型的名称及定义。注意,不能使用timestamp数据类型,当所使用的系统数据类型有额外说明时,需要用引号将其括起来。null_type:指定用户自定义数据类型的null属性,其值可以为null、not null或者nonull。默认与系统默认的null属性相同。owner_name:指定用户自定义数据类型的所有者。 SQL Server 20056.2SQL Server的数据类型 【例6.2】自定义一个地址数据类型。USE bookGOEXEC SP_ADDTYPE address, varchar(80), not null上例创建了一个名为address的用户自定义数据类型,基于varchar数据类型。该列不能为空。2使用SQL Server Management Studio创建用户定义数据类型 SQL Serve
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年济宁道路运输从业人员资格考试内容有哪些
- 2025年绥化道路运输从业资格证模拟考试年新版
- 《虎年春节模板》课件
- 城市绿化养护服务招投标模板
- 燃气管道电工施工合同样本
- 广州市二手房按揭合同签订指南
- 教育设施租赁协议
- 智能化施工合同住宅小区改造
- 城市绿化带建设室外施工合同
- 旅行社暖气管道维修施工合同
- 《联合国教科文:学生人工智能能力框架》-中文版
- 市政工程单位、分部、分项工程划分方案
- 工程数学第5次作业(工程数学(本)形成性考核作业5)-国开辅导资料
- GB/T 11085-1989散装液态石油产品损耗
- OptiXOSN8800产品系统硬件系统、单板介绍
- 附件1黑龙江省事业单位聘用合同制管理办法doc
- 蔬菜大棚温度控制器设计(共20页)
- LS-MASTER-K-指令手册
- 《数据结构》课程标准
- 庞中华现代汉语7000通用字行书钢笔字帖(上)
- 劳动量计算表
评论
0/150
提交评论