数据类型介绍
一、整数类型(可以添加自增约束条件)
数据类型
存储需要
有符号
无符号
tinyint
1个字节
-2^7~2^7-1
0~2^8
smallint
2个字节
-2^15~2^15-1
0~2^16
mediumint
3个字节
-2^23~2^23-1
0~2^24
int
4个字节
-2^31~2^31-1
0~2^32
bigint
8个字节
-2^63~2^63-1
0~2^64
可以根据占用字节数可以求出每一个数据类型的取值范围,
例:TINYINT需要1个字节(8bits)来存储,那么TINYINT无符号号数的最大值为2^8-1,即255;有符号数的最大值为2^7-1,即127.
例:year int(4),该声明指明,在year字段中的数据一般只显示4位数字的宽度。
注意:
显示宽度和数据类型的取值范围无关。
显示宽度只是指明mysql最大可能显示的字数个数,当数值的位数小于指定的宽度由空格填充;如果插入大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且能够显示出来
例:int(3)占用4个字节的存储空间,并且最大值不是999,而是int的最大值。
整型的默认值,系统将添加不同的默认显示宽度。保证显示每一种数据类型可以取到取值范围内的所有值。
例: TINYINT有符号和无符号的取值范围分别为-128~127和0~125,由于负号占一个数字位,因此TINYINT默认的显示宽度为4.
二、浮点数类型和定点数类型
类型名称
说明
存储需求
float
单精度浮点数
4个字节
double
双精度浮点数
8个字节
decimal
(M,D),DEC
压缩的‘严格’定点数
M+2个字节
注意:
(1)Decimal