SQL Server 2000的数据类型

 
SQL Server 2000中有两类数据类型:
Ø         系统数据类型
Ø         用户自定义数据类型
在讲系统数据类型之前,先要搞懂以下几个概念:
Ø         精度:指数值数据中所存储的十进制数据的总位数。
Ø         小数位数:指数值数据中小数点右边可以有的数字位数的最大值。
Ø         长度:指存储数据所使用的字节数。
具体SQL Server 2000支持的系统数据类型如下:
1、字符型         
用于存储字符串,字符串中可包括字母、数字和其他特殊符号(如#、@、&等)。
Ø        固定长度(char):char[(n)]:长度为n个字节的固定长度的字符数据。n必须是一个介于1和8000之间的数值。若实际要存储的串长度不足n,则在串的尾部添加空格,以达到长度n。若实际的字符超出了定义长度,则超出部分被截断。
Ø         可变长度(varchar):varchar[(n)]:长度为n个字节的可变长度的字符数据。n必须是一个介于1和8000之间的数值。存储大小为输入数据的字节的实际长度,而不是n个字节。所输入的数据字符长度可以为零。
 
2、Unicode字符型
Unicode是“统一字符编码标准”,用于支持国际上非英语语种的字符数据的存储和处理。一个字符占两个字节。
Ø         nchar(n):包含n个字符的固定长度Unicode数据的数据类型。n的值在1~4000之间。长度为2n字节。
Ø         nvarchar(n):最多包含n个字符的可变长度Unicode数据的数据类型。n的值在1~4000之间。长度是所输入字符个数的两倍。
 
3、文本型
Ø         text:表示最大长度为 231-1(2147483647)个字符,其数据的存储长度为实际字符个数。
Ø         ntext:表示最大长度为 230-1(1073741823)个Unicode字符,其数据的存储长度为实际字符个数据的两倍。
 
4、整数型
Ø         bigint:大整数,其精度为19,长度为8字节,从 –263 (-9223372036854775808)到263-1(9223372036854775807)的整型数据(所有数字)。
Ø         int:整数,范围为 -231(-2147483648)到 231 – 1 (2147483647),其精度为10,长度为4字节。
Ø         smallint:短整数,范围为 -215(-32768)到 215 – 1 (32767),精度为5,长度为2字节。
Ø         tinyint:微短整数,范围为 0 到 255 ,精度为 3,长度为1字节。
 
5、精确数值型
由整数部分和小数部分构成,包括decimal和numeric两类。从功能上说两者完全等价,两者的惟一区别在于decimal不能用于带有identity关键字的列。
格式:numeric(p[,s])
其中,p为精度,s为小数位数,s的默认值为0。
例:要存储的数据为123.56,其数据类型可定义为numeric(5,2)
范围:从 -1038 +1 到 1038 –1 的固定精度和小数位的数字数据,存储长度随精度变化而变化,5~17字节。
 
6、浮点型
近似数值型。可用于处理取值范围非常大且对精确度要求不高的数值量。
Ø         float[(n)]:从 -1.79E + 308 到 1.79E + 308 的浮点精度数字。数据精度和存储大小由n确定,范围为1~53。默认精度为15位有效数字,存储长度为8字节。
Ø         real:从 -3.40E + 38 到 3.40E + 38 的浮点精度数字。数据精度为7位有效数字,使用4字节存储数据。
不过两种都用科学计数法表示数据。
 
7、货币型
专门用于处理货币的数据类型。用十进制数表示货币值。
Ø         money:从 -263 到 263 –1,精度为19,小数位数为4,长度为8字节。
Ø         smallmoney:从 -231 到 231 –1 ,精度为10,小数据位数为4,长度为4字节。
当向表中插入数值时,必须在数据前面加上货币表示符号($),并且中间不能有符号(,),若货币值为负数,则需要在符号后面加上负号(-)。
 
8、位型
bit:相当于其他语言中的逻辑型数据,它只存储0或1,长度为1字节。数据0,表示值为0,非0时,其值为1。且bit类型数据,不允许为空值,也不允许对其建立索引。
 
9、二进制型
表示位数据流。
Ø         binary[(n)]:固定长度的n个字节二制数据。n取值范围为1~8000。存储长度为n+4字节。若实际输入不足n,则用0填充。
Ø         varbinary[(n)]:n个字节变长二进制数。 n取值范围为1~8000 。存储长度为实际输入数据长度加上4个字节。
 
10、日期时间类型
用于存储日期和时间信息。
Ø         datetime:范围从1753年1月1日到9999年12月31日的日期和时间数据,精确到百分之三秒(或3.33毫秒)。长度为8字节,日期和时间分别使用4字节存储。
Ø         smalldatetime:范围从1900年1月1日到2079年6月 6日的日期和时间数据,精确到分钟。长度为4字节,日期和时间分别使用2字节存储。
 
11、时间戳型
timetamp:每当对该表加入新行或修改已有行时,都由系统自动将一个计数器加到该列,即将原来的时候戳值上加一个增量,表示SQL Server在一行上的活动顺序。
一个表只能有一个timetamp列,长度为8字节。
 
12、图像数据类型
image:用于存储图片、照片等。实际存储的是可变长度二进制数据,介于0~231-1字节之间。
 
13、其他数据类型
Ø         cursor:游标的引用。
Ø         sql_variant:一种存储 SQL Server 支持的各种数据类型(text、ntext、timestamp 和 sql_variant 除外)值的数据类型。
Ø         table:一种特殊的数据类型,存储供以后处理的结果集。
3.1.2   创建用户定义数据类型
1、使用企业管理器创建用户定义的数据类型
2、使用系统存储过程sp_addtype创建用户定义数据类型
提供的参数:名称、新数据类型所依据的系统数据类型、数据类型是否允许空值。
语法格式:
sp_addtype [@typename=] 自定义的数据类型名称,
        [@phystype=] 所依据的系统数据类型
   [,[@nulltype=] 处理空值的方式 ]
    [,[@owner=] 新数据类型的创建者或所有者 ]
 
3.1.3   创建表
1、使用企业管理器创建表
2、使用T-SQL语句创建表
语法格式:
CREATE TABLE 表名称
( 列定义, 表级完整性定义)
ON 指定存储表的数据库文件组
TEXTIMAGE_ON 说明text、ntext、image列数据的文件组名
 
列定义格式:列名 列数据类型 列的约束
 
例:student数据库中创建表stu(学号,姓名,年龄,课程,成绩),T-SQL语句如下:
create table stu
(学号 char(8)    primary key,
姓名 char(10)    not null,
年龄 tinyint null,
课程 varchar(30) null,
成绩 numeric(4,1) default 0 )
 
3.2  修改表
3.2.1 在企业管理器中修改表
3.2.2 T-SQL 语句修改表
语法格式:
ALTER TABLE    表名
ALTER COLUMN 列名 列类型 列约束
ADD 列定义
DROP COLUMN    列名
 
3.3  删除表
3.3.1 在企业管理器中删除表
3.3.2 T-SQL 语句删除表
语法:
DROP TABLE    表名称
 
 
3.4  表的数据操作
3.4.1 向表中插入数据
   INSERT INTO 表名 VALUES(记录值)
3.4.2 修改表中数据
   UPDATE 表名 SET 
3.4.3 删除表中数据
   DELETE 表名 
   注:与TRUNCATE TABLE 语句的区别。
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值