- tinyint类型代表一个字节,如果一个数字大小超过一个字节,则无法保存。
- tinyint有两种类型,第一种(默认)可以储存正负数;第二种指定字段unsigned,只能储存正数。
(1) . 第一种储存过程:一个字节共有8位,将第一个字节作为正负标志,不做数据储存,其中第一个字节为1=负,0=正。所以最大负数为11111111=-127(将后面7位转为十进制制),最大正数为01111111=127; - 官方给出的tinyint取值范围是-128到127,为什么不是-127到127呢,原因在于当10000000时候,此时为-0,当00000000时,此时为+0,这就出现了两个0,而-0没有意义,所以就规定-0时候,储存数字为-128。这样tinyint最大负数=-128
(2). 第二种储存过程:只存正数,则一个字节最大可以储存11111111=255,即tinyint范围为0~255,也就是2的8次方-1. - 自行领会下:
-
// 2 ^ 8 // 1 1111111 $one = 2*2*2*2*2*2*2; //128 0~~255 $two = 2*2*2*2*2*2; //64 127 255 $three = 2*2*2*2*2; //32 63 $four = 2*2*2*2; //16 $five = 2*2*2; //8 $six = 2*2; //4 $seven = 2; //2 $eight = 1; //1 //1 2 4 8 16 32 //1 1 2 3 4 5 //2*2*2*2*2 //2*2*2*2 // 2*2*2 //2*2 //2 //1
Tinyint:迷你整形,系统采用一个字节来保存的整形:一个字节 = 8位,最大能表示的数值是0-255
Smallint:小整形,系统采用两个字节来保存的整形:能表示0-65535之间
Mediumint :中整形,采用三个字节来保存数据。
Int:(标准整形),采用四个字节来保存数据。
Bigint :采用八个字节来保存数据。
12348