所谓的数据类型就是对数据进行统一的分类,从系统的角度出发,是方便统一管理和节约磁盘空间。就像我们学习任何一门编程语言一样,也有数据类型的概念,java就有基础的八大数据类型。 SQL中将数据分为三大类:数值类型,字符串类型,时间日期格式类型,其中每种类型下还有细分好几种类型。

整数型

 

在sql中需要考虑磁盘的存储空间,所以将整数型细分以下五种。

1)tinyint: 迷你整形,使用一个字节存储,表示的状态最多256种

2)smallint: 小整形,使用2个字节存储,表示的状态最多为65536种

3)mediumint: 中整形,使用3个字节存储。

4)int: 标准整形,使用4个字节存储

5)bigint: 大整形,使用8个字节存储。

上面五种,最常用的就是tinyint和int这两种,最多再加上bigint这种。下面,我们新建一个int表,举例如下。

 

上面图片显示,我们字段的数据类型为4中整形,下面我们来插入数据,需要分别根据字段的整形数据范围来插入数据。

 

注意上面红圈的两次错误,第二条错误是因为插入的数据不是整形,第三条错误是插入的整形范围超过了范围,这里解释如下。

SQL中数值类型全部都是默认有符号,也就是有正数和负数区分,tinyint的真正的范围是,正数(0~255),负数(-128~127);为了解决这种符号问题,我们有时候需要给数据类型限定无符号,语法:int unsigned;有了unsigned限制,也就是整数数据从0开始。

先给表插入一个tinyint unsigned,然后根据字段的范围,插入数据。

 

下面的int_5插入255就不会报错。

 

显示宽度

 

这里提一下,上面图中的红圈,同样的tinyint一个后面带数字4,一个后面带数字3,它们到底是什么意思呢?显示数据4,例如-127,这个值包括前面的负号一共占4个宽度,下面的unsigned的tinyint显示数字3,例如数字255就是占3个宽度,整数默认是没有符号,所以只有3个宽度。