数据类型
描述
字符(n)
字符/字符串。固定长度n。
VARCHAR (n)或
性格不同(n)
字符/字符串。可变长度。最大长度n。
二进制(n)
二进制串。固定长度n。
布尔
存储TRUE或FALSE值
VARBINARY (n)或
二进制不同(n)
二进制串。可变长度。最大长度n。
整数(p)
整数值(没有小数点)。精度p。
短整型
整数值(没有小数点)。精度5。
存储数据的范围是从2的15次方(-32768)到2的15次方1(32767),占用2个字节的储存空间。
整数
整数值(没有小数点)。精度10。
存储数据的范围是2的31次方到2的31次方1,占用4个字节的储存空间。
长整型数字
整数值(没有小数点)。精度19。
小数(p, s)
精确数值,精度p,小数点后位数。例如:小数(5,2)是一个小数点前有3位数小数点后有2位数的数字。
数字(p, s)
精确数值,精度p,小数点后位数。(与十进制相同)
浮动(p)
近似数值,尾数精度p。一个采用以10为基数的指数计数法的浮点数。该类型的大小参数由一个指定最小精度的单一数字组成。
真正的
近似数值,尾数精度7。
浮动
近似数值,尾数精度16。
双精度
近似数值,尾数精度16。
日期
存储年、月、日的值。
时间
存储小时、分、秒的值。
时间戳
小存储年,月,日,时,分,秒的值。
时间间隔
由一些整数字段组成,代表一段时间,取决于区间的类型。
数组
元素的固定长度的有序集合
多重集
元素的可变长度的无序集合
XML
存储XML数据
其中标红的是在建表时常用的数据类型。
数据类型的名称在不同数据库平台中有一些区别,在SQL Server和我的SQL中(或者还有其他平台)数值型还有一个非常小的整数的类型(范围从0到255)。
应该注意根据实际情况选用不同的数据类型。
<强>一、定义数据长度太长会造成存储空间的浪费。强>
例如:
对“姓名”字段:中国人姓名一般不会太长,可以定义为char (10) .char(10)可以存储5个中文字符。而在需要考虑少数民族或者其他名字很长(例如外国人?)的情况下,则需要改成char(20)或者更长。
<强>二,选择类型不准确可能会造成对后续操作的影响。强>
例如:
对“年龄”字段:理论上“年龄”可以定义成char和非常小的整数。当不需要对年龄进行计算时,定义成char是没有问题的;但很多情况下,我们需要对年龄进行计算,排序和比较等操作,选用非常小的整数会方便一些。而且正常地球人寿命不超过150年,smallint和int的范围太大,造成空间浪费。
对“电话号码”字段:建议用varchar类型。电话号码如果分固定电话和手机号码的话,长度不一。而varchar比char更灵活,长度可变,而且存储空间更小。