1、整型
数据类型 存储范围
tinyint(8/8=1个字节) 有符号:-128到127,无符号:0-255
smallint2个字节 有符号:-32768到32768,无符号:0到65535
mediumint3个字节 有符号:-8388608到8388607,无符号:0到16777215
int4个字节 有符号:-2147483648到2147483647,无符号:0到4294967295
bigint(64/8=8个字节) 有符号:-2的63次房到2的63次方-1,无符号:0到2的64次方-1
2、整型数据类型
- 整型数据类型可以指定宽度,如int(2)其中的2表示宽度
- 显示宽度和数据的取值类型无关
- 显示宽度表示最大可能显示的数字个数、
- 数值位数小于宽度会使用空格填充
- 数值大于显示宽度值,只要该数值不超出该类型的取值范围,数值也是可以插入和显示出来的
- 如定义为int(1),插入数值10000,最后保存值还是10000
- 数值大于显示宽度值,数值超出了该类型的取值范围,最后保存该类型的最大值(或最小值)
- 如定义为tinyint(1),插入数值10000,最后保存值还是127
- 如定义为tinyint(1),插入数值-10000,最后保存值还是-128
- 如果不指定显示宽度,mysql为每一种类型指定默认的宽度值。
3、浮点型
- 浮点型可以指定小数位长度和整数位长度,如double(m,n)表示n为小数,最多m-n位整数
- 如果整数位数超出定义的整数位最大范围,则采用该浮点型定义的最大值进行保存
- 如定义为double(5,2),插入数值10000.25,则最后保存值为9999.9
- 如果只有小数位位数超出定义的长度,则多出的小数位进行四舍五入保存
- 如定义为double(5,2),插入数值1000.256,则最后保存值为1000.3
4、varchar
- 必须定义长度,如varchar(11)
- 其中11表示最大保存的字符长度
- 如果长度大于11,则进行截串保存