数据类型 描述 CHARACTER(n) 字符/字符串。固定长度 n。 VARCHAR(n) 或 CHARACTER VARYING(n) 字符/字符串。可变长度。最大长度 n。 BINARY(n) 二进制串。固定长度 n。 BOOLEAN 存储 TRUE 或 FALSE 值 VARBI
描述
CHARACTER VARYING(n)
BINARY VARYING(n)
存储数据的范围是从-2的15次方(-32768)到2的15次方-1(32767),占用2个字节的储存空间。
存储数据的范围是-2的31次方到2的31次方-1,占用4个字节的储存空间。
其中标红的是在建表时常用的数据类型。
数据类型的名称在不同数据库平台中有一些区别,在SQL Server和MY SQL中(或者还有其他平台)数值型还有一个tinyint的类型(范围从0到255)。
应该注意根据实际情况选用不同的数据类型。
一、定义数据长度太长会造成存储空间的浪费。
例如:
对“姓名”字段:中国人姓名一般不会太长,可以定义为char (10)。char(10)可以存储5个中文字符。而在需要考虑少数民族或者其他名字很长(例如外国人?)的情况下,则需要改成char(20)或者更长。
二、选择类型不准确可能会造成对后续操作的影响。
例如:
对“年龄”字段:理论上“年龄”可以定义成char和tinyint。当不需要对年龄进行计算时,定义成char是没有问题的;但很多情况下,我们需要对年龄进行计算、排序和比较等操作,选用tinyint会方便一些。而且正常地球人寿命不超过150,smallint和int的范围太大,造成空间浪费。
对“电话号码”字段:建议用varchar类型。电话号码如果分固定电话和手机号码的话,长度不一。而varchar比char更灵活,长度可变,而且存储空间更小。