mysql列类型一 —— 整型(Tinyint,Smallint,Mediumint,Int,Bigint)
概述:这几篇会详细讲讲解mysql中的字段类型,大体上包括:整数类型,小数类型,时间日期类型,字符串类型,set(集合)类型,包括详细介绍,使用场景以及一些常用扩展知识
整数类型
Tinyint
迷你整形,系统采用一个字节来保存的整形:一个字节 = 8位,最大能表示的数值是0-255
Smallint
小整形,系统采用两个字节来保存的整形:能表示0-65535之间
Mediumint
中整形,采用三个字节来保存数据。
Int
整形(标准整形),采用四个字节来保存数据。
Bigint
大整形,采用八个字节来保存数据。
1.创建数据表
2.插入合理数据来测试
3.插入错误数据(超出对应的数据范围)
错误原因:并不是说tinyint没有这么大的空间,而是因为mysql默认的为整形增加负数。
实际表示的区间为-128,127,
实际应用中,应该根据对应的数据的范围来选定对应的整形类型:通常使用的比较多的TINYINT和int。
我们想用tinyint存储255要怎么做呢?往下看
无符号标识设定
无符号:表示存储的数据在当前字段中,没有负数(只有正数,区间为0-255)
基本语法:在类型之后加上一个 unsigned,如下插入255执行成功
显示长度
显示长度:指数据(整型)在数据显示的时候,到底可以显示多长位。
Tinyint(3): 表示最长可以显示3位,unsigned说明只能是正数,0-255永远不会超过三个长度
Tinyint(4):表示最长可以显示4位,-128~127
显示长度只是代表了数据是否可以达到指定的长度,但是不会自动满足到指定长度:如果想要数据显示的时候,保持最高位(显示长度),那么还需要给字段增加一个zerofill属性才可以。
Zerofill:从左侧开始填充0(左侧不会改变数值大小),所以负数的时候就不能使用zerofill,一旦使用zerofill就相当于确定该字段为unsigned
数据显示的时候,zerofill会在左侧填充0到指定位:如果不足3位,那么填充到3位,如果本身已经够了或者超出,那么就不在填充。