tinyint(n) 占1个字节,有符号(-128 - 127) 无符号 (0 - 255)
tinyint(1) 在数据库中保存任意值转换成类对象的时候,会变成boolean /bool 值类型。
如果想要保存具体的数字那么就用tinyint(4) 就可以保存数据。
int(n)占4个字节 ,n表示显示宽度,当字段设置为无符号且填充0的时候,
当值的宽度不够n时,会在值的前面填充0直至宽度为n(如:int(3)值为3则填充后为003)
float(m,d) 单精度浮点型 8位精度(4字节) m总个数,d小数位 (如:float(6,3)表示整数位最多3位,小数位最多3位)
double(m,d) 双精度浮点型 16位精度(8字节) m总个数,d小数位 (如:float(6,3)表示整数位最多3位,小数位最多3位)
decimal(m,d) m总个数,d小数位 适用于要求精度较高的字段
varchar(n)中的n表示宽度,并且不区分数字、字母、汉字等
char(n)与varchar(n)的区别:
char是不可变的,varchar是可变的
如:char(4)和varchar(4) 同时存入 ab
char会补充2个空格凑够宽度4
而varchar宽度为2不会补充空格
存取效率char大于varchar
空间效率varchar大于char