没有合适的资源?快使用搜索试试~ 我知道了~
SQLServer2005数据类型[定义].pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 150 浏览量
2021-10-12
00:36:03
上传
评论
收藏 112KB PDF 举报
温馨提示
试读
11页
SQLServer2005数据类型[定义].pdf
资源推荐
资源详情
资源评论
SQL Server 2005 数据类型说明
用 varchar(max) 代替 text 。varchar 的最大长度为 8000,但是 varchar(max) 则
可以存储多达 2G的数据,因此其作用相当于 SQL 2000中的 text 。但是微软可
能会后续的 SQL Server 版本中移除 text 类型,从现在就应该用 varchar(max) 来
代替 text 。
用 nvarchar(max) 代替 ntext ,用 binary(max) 代替 image.
(Image 类型对应 C#的 byte[])
为 XML数据选择 xml 类型。在 SQL Server 2005 中,为 XML数据添加了相应的数
据类型,因此存储 XML数据的列不需要用 varchar(max) 或 nvarchar(max) ,而
应当用 xml 数据类型, 以利用 T-SQL中专门针对 xml 数据列的新命令, 以及针对
xml 列的索引。
易混淆的数据类型 (C#:string)
(1)char 、varchar 、text 和 nchar 、nvarchar 、ntext
char 和 varchar 的长度都在 1 到 8000 之间,它们的区别在于 char 是定长字符
数据,而 varchar 是变长字符数据。 所谓定长就是长度固定的, 当输入的数据长
度没有达到指定的长度时将自动以英文空格在其后面填充, 使长度达到相应的长
度;而变长字符数据则不会以空格填充。 text 存储可变长度的非 Unicode 数据,
最大长度为 2^31-1(2,147,483,647) 个字符。
后面三种数据类型和前面的相比,从名称上看只是多了个字母 "n" ,它表示存储
的是 Unicode 数据类型的字符。写过程序的朋友对 Unicode 应该很了解。字符中,
英文字符只需要一个字节存储就足够了, 但汉字众多, 需要两个字节存储, 英文
与汉字同时存在时容易造成混乱, Unicode 字符集就是为了解决字符集这种不兼
容的问题而产生的, 它所有的字符都用两个字节表示, 即英文字符也是用两个字
节表示。 nchar 、nvarchar 的长度是在 1 到 4000 之间。和 char 、varchar 比较:
nchar 、nvarchar 则最多存储 4000个字符,不论是英文还是汉字; 而 char 、varchar
最多能存储 8000 个英文, 4000 个汉字。可以看出使用 nchar 、nvarchar 数据类
型时不用担心输入的字符是英文还是汉字, 较为方便, 但在存储英文时数量上有
些损失。
(2)datetime 和 smalldatetime
datetime :从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据, 精确到
百分之三秒。
smalldatetime :从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精
确到分钟。
(3)bitint 、int 、smallint 、tinyint 和 bit
bigint :从 -2^63(-9223372036854775808) 到 2^63-1(9223372036854775807) 的
整型数据。 (C#:long)
int :从-2^31(-2,147,483,648) 到 2^31-1(2,147,483,647) 的整型数据。(C#:int)
smallint :从-2^15(-32,768) 到 2^15-1(32,767) 的整数数据。 (C#:short)
tinyint :从 0 到 255 的整数数据。 (C#:byte)
bit :1 或 0 的整数数据。 (C#:bool)
(4)decimal 和 numeric
这两种数据类型是等效的。都有两个参数: p(精度)和 s(小数位数)。 p 指定
小数点左边和右边可以存储的十进制数字的最大个数, p 必须是从 1 到 38 之间
的值。 s 指定小数点右边可以存储的十进制数字的最大个数, s 必须是从 0 到 p
之间的值,默认小数位数是 0。
(5)float 和 real
float :从-1.79^308 到 1.79^308 之间的浮点数字数据。
real :从 -3.40^38 到 3.40^38 之间的浮点数字数据。在 SQL Server 中, real
的同义词为 float(24) 。
自动编号:设字段类型为: int ,然后列属性中 (是标识)选是,标识种子选 1。
用 varchar(max)代替 text。varchar 的最大长度为 8000,但是 varchar(max)则可以存储多达 2G 的数据,因此其作用相当于 SQL 2000 中的 text。但是
微软可能会后续的 SQL Server版本中移除 text 类型,从现在就应该用 varchar(max) 来代替 text 。
用 nvarchar(max)代替 ntext,用 binary(max)代替 image.
为 XML 数据选择 xml 类型。在 SQL Server 2005 中,为 XML 数据添加了相应的数据类型,因此存储 XML 数据的列不需要用 varchar(max)或
nvarchar(max),而应当用 xml 数据类型,以利用 T-SQL 中专门针对 xml 数据列的新命令,以及针对 xml 列的索引。
易混淆的数据类型
(1)char、varchar、text 和 nchar、nvarchar、ntext
char 和 varchar的长度都在 1 到 8000 之间,它们的区别在于 char 是定长字符数据,而 varchar是变长字符数据。所谓定长就是长度固定的,当输入
的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。 text 存储可变长
度的非 Unicode数据,最大长度为 2^31-1(2,147,483,647)个字符。
后面三种数据类型和前面的相比,从名称上看只是多了个字母 "n",它表示存储的是 Unicode 数据类型的字符。写过程序的朋友对 Unicode 应该很了
解。字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱, Unicode 字符集就
是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。 nchar、nvarchar 的长度是在 1
到 4000 之间。和 char、varchar比较:nchar、nvarchar则最多存储 4000 个字符,不论是英文还是汉字;而 char、varchar最多能存储 8000 个英文,
4000 个汉字。可以看出使用 nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。
(2)datetime和 smalldatetime
datetime:从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒。
smalldatetime:从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。
(3)bitint 、int 、smallint、tinyint 和 bit
bigint:从-2^63(-9223372036854775808)到 2^63-1(9223372036854775807)的整型数据。
int:从-2^31(-2,147,483,648)到 2^31-1(2,147,483,647)的整型数据。
smallint:从-2^15(-32,768)到 2^15-1(32,767)的整数数据。
tinyint :从 0 到 255的整数数据。
bit:1 或 0 的整数数据。
(4)decimal 和numeric
这两种数据类型是等效的。都有两个参数: p(精度)和 s(小数位数)。p 指定小数点左边和右边可以存储的十进制数字的最大个数, p必须是从 1
到 38 之间的值。 s指定小数点右边可以存储的十进制数字的最大个数, s必须是从 0 到p 之间的值,默认小数位数是 0。
(5)float 和 real
float :从-1.79^308到 1.79^308之间的浮点数字数据。
real:从 -3.40^38 到3.40^38 之间的浮点数字数据。在 SQL Server中, real的同义词为 float(24)。
关 于 SQL SERVER 2005 与 SQL SERVER 2000 比较
这个题目 太大了 , 这里只 能大体 介绍一 下,细节方 面还需 大家共 同研究 ! 希 望能使 大家对 S QL SERVER 2005 快速入手 ,另外 sql server 2005 的界面风格 有越来 越像 .net 了,赶快
安装一个 感受一 下吧 !进去之 后不要 再去 找查询 分析器 了 ,它和企 业管理 器都被 集成在 ”Microsoft SQL Se rver Management studio ”了 ,这个工 具占内 存较大 80M 多(再 加上 sql server
的实例进 程 80M, 就 160M 了 ),而以前 的企业 管理器 只需 20M 左右 ,加 上 sql server 的实 例进程 10M 多一 共才 30M 多.有 得必有 失~!
hacker at 2006/9/29
一、数据 库设计 方面
1 、字段类型 。
SQL Serve r 2005 引入了一系列 新的 被称为 MAX 的 数据类 型。这是 VARCHAR ,NV ARC HAR 和 VARB INARY 类 型的扩 展,这几种 类型 以前 被限制在 8000 字节以下 。MAX
可以容纳 高达 2GB 的数 据,与 TEX T 和 IMAG E 一样 。
可以使用 字符串 函数对 C LOB 类 型进行 操作。 但是这 就引发 了对 varcha r 和 cha r 效率 讨论的 老问题 。到底 如何分 配 varcha r 的数 据,是 否会出 现大规 模的碎 片?是 否碎片 会引
发效率问 题?这 都是需 要进一 步探讨 的东西 。
数据类型
Sql server2000 Sql server2005
text 最大 2GB varchar(max) 最 大 2GB( 相 当于 oracle 中的 CLOB 类型 )
ntext 最大 2GB nvarchar(max) 最大 2GB
image 最大 2GB varbinary(max) 最 大 2GB (代替 i mage 也 让 SQL Se rver 的 字段类 型更加 简洁统 一)
无 XML X ML 数据 被作为 二进制 大型对 象 (BLOB ) 存储于 内部, 可有效 地进行 重新分 析和压 缩
其它数据 类型保 持不变 。
2 、外键的级 联更能 扩展
新版本中 外键级 联加入 了 SET NULL 和 SET D EFAU LT 属性 ,能够 提供能 好的级 联设置 。( 有点像 ora cle 了 )语法 如下 ( 引用 sql server 2005 help 来说明 ):
CREA TE TABLE 和 A LTER TABLE 语句 的 REFER ENCES 子 句支持 O N DELETE 和 ON U PDATE 子 句:
剩余10页未读,继续阅读
资源评论
czq131452007
- 粉丝: 2
- 资源: 12万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功