与整数有关的数据类型如下表:
稍微解释一下,在大厂中数据类型是被严格把控的,比如说,QQ中设置人的年龄,不可能特别大(一般不会超过200),所以用 int 类型简直是浪费,那用 tinyint 吗?也不完全是,因为人的年龄一定不可能是负数,所以就最好采用 tinyint unsigned (无符号)
接下来进入实操环节
- 创建一个表,至于名称就叫 emo 吧(问就是最近很 emo ),其中的属性有 age,number,number1
- 输入
desc emo;
,可以看到 tinyint 后面悄悄多了一个(3),不要惊讶,它的意思是长度而已,因为它对应的最大的数 255 就是三位,同理,smallint 也是同样的道理。
- 输入一个数据:
insert into emo values(253,22222,55555);
,之后输入select * from emo;
- number1 的类型为 int(5),给他赋值为 12345678 ,长度为8,可以吗?当然没有问题,只要不超过对应的最大值 2 147 483 647 就行。
- 再试一个,age的类型为 tinyint(3) , 给他赋值为 257 ,长度为3,可以吗?当然没不可以,因为超过了对应的最大值 255 。