分类: Mysql/postgreSQL
2009-07-11 14:12:19
数据类型
1.整型(xxxint)
MySQL数据类型 |
含义 |
tinyint(m) |
1个字节表示(-128~127) |
smallint(m) |
2个字节表示(-32768~32767) |
mediumint(m) |
3个字节表示(-8388608~8388607) |
int(m) |
4个字节表示(-2147483648~2147483647) |
bigint(m) |
8个字节表示(+-9.22*10的18次方) |
右侧的取值范围是在未加unsigned关键字的情况下,如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~256)。
书上说int(m)括弧里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,我测了一下,定义一个字段number 类型为int(4),插入一条记录"123456",用mysql query broswer执行SELECT查询,返回的结果集中123456正确显示,没有影响到显示的宽度,不知道这个m有什么用。
2.浮点型(float和double)
MySQL数据类型 |
含义 |
float(m,d) |
单精度浮点型,8位精度(4字节),m是十进制数字的总个数, |
double(m,d) |
双精度浮点型,16位精度(8字节) |
参数m只影响显示效果,不影响精度,d却不同,会影响到精度。
比如设一个字段定义为float(5,3),如果插入一个数123.45678,实际数据库里存的是123.457,小数点后面的数别四舍五入截成457了,但总个数不受到限制(6位,超过了定义的5位)。
3.定点数(decimal)
decimal(m,d) 定点类型
浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。参数m