第5章数据库对象的操作课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第5章数据库对象的操作课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 对象 操作 课件
- 资源描述:
-
1、第第5 5章章 数据库对象的操作数据库对象的操作5.1 数据类型 在SQL Server2005 中,每个列、局部变量、表达式和参数都有其各自的数据类型。指定对象的数据类型相当于定义了该对象的四个特性:(1)对象所含的数据类型,如字符、整数或二进制数。(2)所存储值的长度或它的大小。(3)数字精度(仅用于数字数据类型)。(4)小数位数(仅用于数字数据类型)。SQL Server提供系统数据类型集,定义了可与SQL Server一起使用的所有数据类型;另外用户还可以使用Transact-SQL或.NET框架定义自己的数据类型,它是系统提供的数据类型的别名。每个表可以定义至多250个字段,除文本和
2、图像数据类型外,每个记录的最大长度限制为1962个字节。5.1.1 系统数据类型 1、精确数字类型;2、近似数字类型;3、日期和时间类型;4、字符数据类型;5、Unicode 字符数据类型;6、二进制字符数据类型;7、其它数据类型。5.1.1 系统数据类型 1、精确数字类型(1)精确数字类型包括:整数类型;Bit(位类型);Decimal和Numeric(数值类型);Money和SmallMoney(货币类型)。5.1.1 系统数据类型 1、精确数字类型、精确数字类型(2)整数类型整数类型:整数类型是最常用的数据类型之一,它主要用来存储数值,可以直接进行数据运算,而不必使用函数转换。整数类型包
3、括以下四类:(1)Bigint:Bigint数据类型可以存储从(-92233728)到(92233727)范围之间的所有整型数据。每个Bigint数据类型值存储在8个字节中。(2)Int(Integer):Int(或integer)数据类型可以存储从(-2147483648)到(2147483647)范围之间的所有正负整数。每个Int数据类型值存储在4个字节中。(3)Smallint:可以存储从(-32768)到32767范围之间的所有正负整数。每个smallint类型的数据占用2个字节的存储空间。(4)Tinyint:可以存储从0255范围之间的所有正整数。每个tinyint类型的数据占用1
4、个字节的存储空间。5.1.1 系统数据类型 1、精确数字类型、精确数字类型(3)位数据类型位数据类型Bit称为位数据类型,其数据有两种取值:0和1,长度为1字节。在输入0以外的其他值时,系统均把它们当1看待。这种数据类型常作为逻辑变量使用,用来表示真、假或是、否等二值选择。(4)Decimal数据类型和数据类型和Numeric数据类型数据类型Decimal数据类型和Numeric数据类型完全相同,它们可以提供小数所需要的实际存储空间,但也有一定的限制,可以用217个字节来存储-1038+1到1038-1之间的固定精度和小数位的数字。也可以将其写为Decimal(p,s)的形式,p和s确定了精确
5、的总位数和小数位。其中p表示可供存储的值的总位数,默认设置为18;s表示小数点后的位数,默认设置为0。例如:decimal(10,5),表示共有10位数,其中整数5位,小数5位。5.1.1 系统数据类型 1、精确数字类型、精确数字类型(5)货币数据类型货币数据类型货币数据类型包括Money和SmallMoney两种:(1)Money:用于存储货币值,存储在money数据类型中的数值以一个正数部分和一个小数部分存储在两个4字节的整型值中,存储范围为(-92233728)到(92233727),精确到货币单位的千分之十。(2)Smallmoney:与money数据类型类似,但范围比money数据类
6、型小,其存储范围为-2147483468到2147483467之间,精确到货币单位的千分之十。当为money或smallmoney的表输入数据时,必须在有效位置前面加一个货币单位符号。5.1.1 系统数据类型 2、近似数字类型、近似数字类型近似数字类型包括近似数字类型包括Real和和Float两大类。两大类。(1)Real:可以存储正的或者负的十进制数值,最大可以有:可以存储正的或者负的十进制数值,最大可以有7位精确位数。它的存储范围从位精确位数。它的存储范围从-3.40E-383.40E+38。每个。每个Real 类型的数据占用类型的数据占用4个字节的存储空间。个字节的存储空间。(2)Flo
7、at:可以精确到第:可以精确到第15位小数,其范围从位小数,其范围从-1.79E-3081.79E+308。如果不指定。如果不指定Float 数据类型的长度,它占数据类型的长度,它占用用8个字节的存储空间。个字节的存储空间。Float数据类型也可以写为数据类型也可以写为Float(n)的形式,的形式,n指定指定Float数据的精度,数据的精度,n为为115之间的整数值。之间的整数值。当当n取取17时,实际上是定义了一个时,实际上是定义了一个Real 类型的数据,系统用类型的数据,系统用4个字节存储它;当个字节存储它;当n取取815时,系统认为其是时,系统认为其是Float类型,类型,用用8个字
8、节存储它。个字节存储它。5.1.1 系统数据类型 3.日期和时间数据类型日期和时间数据类型(1)Datetime:用于存储日期和时间的结合体,它可以存储从公元:用于存储日期和时间的结合体,它可以存储从公元1753年年1月月1日零时起日零时起公元公元9999年年12月月31日日23时时59分分59秒之间的所有日期和秒之间的所有日期和时间,其精确度可达三百分之一秒,即时间,其精确度可达三百分之一秒,即3.33毫秒。毫秒。Datetime数据类型所数据类型所占用的存储空间为占用的存储空间为8个字节,其中前个字节,其中前4个字节用于存储基于个字节用于存储基于1900年年1月月1日日之前或者之后日期数,
9、数值分正负,负数存储的数值代表在基数日期之前之前或者之后日期数,数值分正负,负数存储的数值代表在基数日期之前的日期,正数表示基数日期之后的日期,时间以子夜后的毫秒存储在后面的日期,正数表示基数日期之后的日期,时间以子夜后的毫秒存储在后面的的4个字节中。当存储个字节中。当存储Datetime数据类型时,默认的格式是数据类型时,默认的格式是MM DD YYYY hh:mm A.M./P.M,当插入数据或者在其他地方使用,当插入数据或者在其他地方使用Datetime类型类型时,需要用单引号把它括起来。默认的时间日期是时,需要用单引号把它括起来。默认的时间日期是January 1,1900 12:00
10、 A.M。可以接受的输入格式如下:。可以接受的输入格式如下:Jan 4 1999、JAN 4 1999、January 4 1999、Jan 1999 4、1999 4 Jan和和1999 Jan 4。(2)Smalldatetime:与:与Datetime数据类型类似,但其日期时间范围较数据类型类似,但其日期时间范围较小,它存储从小,它存储从1900年年1月月1日日2079年年6月月6日内的日期。日内的日期。SmallDatetime数据类型使用数据类型使用4个字节存储数据,个字节存储数据,SQL Server 2000用用2个字节存储日期个字节存储日期1900年年1月月1日以后的天数,时间
11、以子夜后的分钟数形式存储在另外两个日以后的天数,时间以子夜后的分钟数形式存储在另外两个字节中,字节中,SmallDatetime的精度为的精度为1分钟。分钟。5.1.1 系统数据类型 4.字符数据类型字符数据类型字符数据类型也是字符数据类型也是SQL Server中最常用的数据类型之一,它可以用来存储各种字母、数字中最常用的数据类型之一,它可以用来存储各种字母、数字符号和特殊符号。在使用字符数据类型时,需要在其前后加上英文单引号或者双引号。符号和特殊符号。在使用字符数据类型时,需要在其前后加上英文单引号或者双引号。(1)Char:其定义形式为:其定义形式为Char(n),当用),当用Char数
12、据类型存储数据时,每个字符和符号占数据类型存储数据时,每个字符和符号占用一个字节的存储空间。用一个字节的存储空间。n表示所有字符所占的存储空间,表示所有字符所占的存储空间,n的取值为的取值为18000。若不指定。若不指定n值,系统默认值,系统默认n的值为的值为1。若输入数据的字符串长度小于。若输入数据的字符串长度小于n,则系统自动在其后添加空格来填,则系统自动在其后添加空格来填满设定好的空间;若输入的数据过长,将会截掉其超出部分。如果定义了一个满设定好的空间;若输入的数据过长,将会截掉其超出部分。如果定义了一个Char数据类数据类型,而且允许该列为空,则该字段被当作型,而且允许该列为空,则该字
13、段被当作Varchar来处理。来处理。(2)Varchar:其在:其在SQL Server 2005中新定义形式为中新定义形式为Varchar(n|max),较之以前的版本,较之以前的版本多了一个多了一个max选择,选择,max表示最大存储大小是表示最大存储大小是231-1个字节个字节。用。用Char数据类型可以存储长数据类型可以存储长达达255个字符的可变长度字符串,和个字符的可变长度字符串,和Char类型不同的是类型不同的是Varchar类型的存储空间是根据存储类型的存储空间是根据存储在表的每一列值的字符数变化的。例如定义在表的每一列值的字符数变化的。例如定义Varchar(20),则它对
14、应的字段最多可以存储),则它对应的字段最多可以存储20个字符,但是在每一列的长度达到个字符,但是在每一列的长度达到20字节之前系统不会在其后添加空格来填满设定好的字节之前系统不会在其后添加空格来填满设定好的空间,因此使用空间,因此使用Varchar类型可以节省空间。类型可以节省空间。(3)Text:用于存储文本数据,其容量理论上为:用于存储文本数据,其容量理论上为1231-1(2,147,483,647)个字节,)个字节,但实际应用时要根据硬盘的存储空间而定。但实际应用时要根据硬盘的存储空间而定。5.1.1 系统数据类型 5.Unicode 字符数据类型字符数据类型Unicode 字符数据类型
15、包括字符数据类型包括Nchar、Nvarchar、Ntext三种:三种:(1)Nchar:其定义形式为:其定义形式为Nchar(n)。它与)。它与Char数据类型类似,不数据类型类似,不同的是同的是Nchar数据类型数据类型n的取值为的取值为14000。Nchar数据类型采用数据类型采用Unicode标准字符集,标准字符集,Unicode标准用两个字节为一个存储单位,其一个存储单位标准用两个字节为一个存储单位,其一个存储单位的容纳量就大大增加了,可以将全世界的语言文字都囊括在内,在一个数的容纳量就大大增加了,可以将全世界的语言文字都囊括在内,在一个数据列中就可以同时出现中文、英文、法文等,而不
16、会出现编码冲突。据列中就可以同时出现中文、英文、法文等,而不会出现编码冲突。(2)Nvarchar:其在:其在SQL Server 2005中新的定义形式为中新的定义形式为Nvarchar(n|max)。它与。它与Varchchar数据类型相似,数据类型相似,Nvarchar数据类型也采用数据类型也采用Unicode标准字符集,标准字符集,n的取值范围为的取值范围为14000。(3)Ntext:与:与Text数据类型类似,存储在其中的数据通常是直接能输数据类型类似,存储在其中的数据通常是直接能输出到显示设备上的字符,显示设备可以是显示器、窗口或者打印机。出到显示设备上的字符,显示设备可以是显示
17、器、窗口或者打印机。Ntext数据类型采用数据类型采用Unicode标准字符集,因此其理论上的容量为标准字符集,因此其理论上的容量为230-1(1,073,741,823)个字节。)个字节。5.1.1 系统数据类型 6.二进制字符数据类型二进制字符数据类型二进制数据类型包括二进制数据类型包括Binary、Varbinary、Image三种:三种:(1)Binary:其定义形式为:其定义形式为Binary(n),数据的存储长度是固定的,),数据的存储长度是固定的,即即n+4个字节,当输入的二进制数据长度小于个字节,当输入的二进制数据长度小于n时,余下部分填充时,余下部分填充0。二进。二进制数据类
18、型的最大长度(即制数据类型的最大长度(即n的最大值)为的最大值)为8000,常用于存储图像等数据。,常用于存储图像等数据。(2)Varbinary:其在:其在SQL Server 2005中新的定义形式为中新的定义形式为Varbinary(n|max),较之以前的版本多了一个,较之以前的版本多了一个max选择,选择,max表示最大存储大小是表示最大存储大小是231-1个字节个字节。数据的存储长度是变化的,它为实际所输入数据的长度加。数据的存储长度是变化的,它为实际所输入数据的长度加上上4字节。其他含义同字节。其他含义同Binary。(3)Image:用于存储照片、目录图片或者图画,其理论容量为
19、:用于存储照片、目录图片或者图画,其理论容量为231-1(2,147,483,647)个字节。其存储数据的模式与)个字节。其存储数据的模式与Text数据类型相同,数据类型相同,通常存储在通常存储在Image字段中的数据不能直接用字段中的数据不能直接用Insert语句直接输入。语句直接输入。5.1.1 系统数据类型 7.其它数据类型其它数据类型(1)Sql_variant:用于存储除文本、图形数据和:用于存储除文本、图形数据和Timestamp类型数据外的其他任何合法的类型数据外的其他任何合法的SQL Server数据。此数据类型极大地方便了数据。此数据类型极大地方便了SQL Server的开发
20、工作。的开发工作。(2)Table:用于存储对表或者视图处理后的结果集。这种新的数据类型使得变量可以存储一:用于存储对表或者视图处理后的结果集。这种新的数据类型使得变量可以存储一个表,从而使函数或过程返回查询结果更加方便、快捷。个表,从而使函数或过程返回查询结果更加方便、快捷。(3)Timestamp:亦称时间戳数据类型,它提供数据库范围内的惟一值,反应数据库中数据:亦称时间戳数据类型,它提供数据库范围内的惟一值,反应数据库中数据修改的相对顺序,相当于一个单调上升的计数器。当它所定义的列在更新或者插入数据行时,修改的相对顺序,相当于一个单调上升的计数器。当它所定义的列在更新或者插入数据行时,此
21、列的值会被自动更新,一个计数值将自动地添加到此此列的值会被自动更新,一个计数值将自动地添加到此Timestamp数据列中。如果建立一个名数据列中。如果建立一个名为为“Timestamp”的列,则该列的类型将自动设为的列,则该列的类型将自动设为Timestamp数据类型。数据类型。(4)Uniqueidentifier:用于存储一个:用于存储一个16字节长的二进制数据类型,它是字节长的二进制数据类型,它是SQL Server根据计根据计算机网络适配器地址和算机网络适配器地址和CPU时钟产生的全局惟一标识符代码(时钟产生的全局惟一标识符代码(Globally Unique Identifier,简
22、,简写为写为GUID)。此数字可以通过调用)。此数字可以通过调用SQL Server的的 newid()函数获得,在全球各地的计算机()函数获得,在全球各地的计算机经由此函数产生的数字不会相同。经由此函数产生的数字不会相同。(5)XML:可以存储:可以存储XML数据的数据类型。利用它可以将数据的数据类型。利用它可以将XML实例存储在字段中或者实例存储在字段中或者XML类类型的变量中。注意存储在型的变量中。注意存储在XML中的数据不能超过中的数据不能超过2GB。(6)Cursor:这是变量或存储过程:这是变量或存储过程OUTPUT 参数的一种数据类型,这些参数包含对游标的引参数的一种数据类型,这
23、些参数包含对游标的引用。使用用。使用 Cursor 数据类型创建的变量可以为空。注意:对于数据类型创建的变量可以为空。注意:对于 CREATE TABLE 语句中的列,语句中的列,不能使用不能使用Cursor 数据类型。数据类型。5.1.2 自定义数据类型 SQL Server允许用户自定义数据类型,用户自定义允许用户自定义数据类型,用户自定义数据类型是建立在数据类型是建立在SQL Server系统数据类型基础上的,系统数据类型基础上的,当用户定义一种数据类型时,需要指定该类型的名称、当用户定义一种数据类型时,需要指定该类型的名称、建立在其上的系统数据类型以及是否允许为空等。建立在其上的系统数
24、据类型以及是否允许为空等。SQL Server为用户提供了两种方法来创建自定义数为用户提供了两种方法来创建自定义数据类型:据类型:(1)使用使用SQL Server管理平台创建用户自定义数据管理平台创建用户自定义数据类型;类型;(2)利用系统存储过程创建用户自定义数据类型)利用系统存储过程创建用户自定义数据类型 5.1.2 自定义数据类型(1)使用使用SQL Server管理平台创建用户自定义数据类型管理平台创建用户自定义数据类型在在SQL Server管理平台中,打开指定的服务器和数据库项,如图管理平台中,打开指定的服务器和数据库项,如图5-1所示,选择并展开所示,选择并展开“程序程序类型类
25、型”项,接下来用右键单击项,接下来用右键单击“用户自定义数据类型用户自定义数据类型”选项,从弹出的快捷菜单中选择选项,从弹出的快捷菜单中选择“新新建建”命令,出现用户定义的数据类型属性对话框,如图命令,出现用户定义的数据类型属性对话框,如图5-2所示。所示。图5-1 打开用户定义的数据类型窗口 图5-2 用户定义的数据类型属性对话框 5.1.2 自定义数据类型(2)利用系统存储过程创建用户自定义数据类利用系统存储过程创建用户自定义数据类型型 系统存储过程sp_addtype为用户提供了用T_SQL语句创建自定义数据类型的途径,其语法形式如下:sp_addtype typename=type,p
展开阅读全文