200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 详解mysql字段类型int(4) int(10)等区别

详解mysql字段类型int(4) int(10)等区别

时间:2018-09-05 09:51:51

相关推荐

详解mysql字段类型int(4) int(10)等区别

一、mysql字段类型大致可以分为:数值、日期/时间、字符串

数值类型:tinyint,smallint,mediumint,int/integer,bigint,float,double,decimal

日期/时间类型:datetime,date,timestamp,time,year

每个时间类型有一个有效值范围和一个零值,当指定不合法的mysql不能表示的值时使用零值

TIMESTAMP类型有专有的自动更新特性。

字符串类型:char,varchar,binary,varbinary,blob,text,enum,set

各类型详解:

1.数值型类型详解

例如:tinyint(1)和tinyint(4)tinyint字段类型的值范围为-127<值<128,如果为unsigned,值的范围为:0<值<256包括int(6)括号中的数字显示的是值的宽度,也就是长度。最大值也就是值的范围的最大值的长度+1。例如128长度为3,所以tinyint()括号中的值最大为4tinyint(3)如果设置了zerofill ,那么值1则显示为001,如果没有设置zerofill则显示为1其他同理。如果设置了zerofill则自动转为无符号unsigned浮点型:float(单精度)、double(双精度) 定点型decimal都可以加(M,D)来表示,M表示该值的总长度,D表示小数点后面的长度单精度浮点数在占内存4个字节,双精度浮点型占内存8个字节单精度浮点数有效位数为8位,双精度浮点数有效位数16位单精度浮点数和双精度浮点数标识数的范围不同cpu单精度浮点数的速度处理比双精度浮点型快float(10,2) double(10,2) decimal(10,2) 表示10位长度,小数点后有2位

2.字符串类型详解

varchar存储可变长字符串,存储时小于255字节时需要加1个额外的字节(大于255需要2个额外字节)存储长度,最大长度为65532字节char存储定长字符串,存储时会使用空格补全右侧,读取是会截断末尾空格,最大长度为255字符例如:char(255)长度固定, 存储需要空间12个字符,后面还会用空格补全,总共占用255varchar(255)可变长, 存储需要空间12+1共13个字符,1个用来存储位置,占用13例如:将“Bill Gates”(10个字符)存储到varchar(40)里,当你以后从这个字段中取出此数据时,取出的数据长度为10个字符; 若将其存储到char(40),取出的数据长度为40个字符,字符串后面会被附加上空格。长度超过,mysql自动截断因为char的长度固定,所以存取速度要比varchar快很多,方便存储和查找,但是占用了很多空间varchar节省了存储空间,因随值的长度变化而变化,所以varchar(50)和varchar(200)存储hello所占空间一样,但后者在排序时会消耗更多内存。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。