标签:sql space mysql基础 tiny 区别 top 指定 最小 大于
1. 数据类型在学习PHP的时候我们已经讲过数据类型了,所谓数据类型就是数据的格式。每一种数据类型在计算机中存储的方式会有差异,占用的存储容量也有区别,所以选择合适的数据类型可以节约我们的存储成本,也方便我们的程序运行和开发效率。
表示:int
在PHP中,要存储一个整数类型需要4个字节,在MYSQL中,这个Int是可以手动指定的,它根据你选择的长度来计算使用的字节数。标准的整数类型也是4个字节。
在定义表的时候,如果选择了int型,那么需要设置一个长度,根据长度会自动将该字段的容量定下来,不能存储超过容量的数据。
所以在考虑字段的时候,我们要知道要存储的数据最大是多少,按照最大的数字选择存储的长度。一旦选择了,空间就被固定了!
整数包含正整数和负整数。但MySQL中也可以只存储正整数。也就是没有负数,最小是就是0,使用unsigned属性,可以让字段变成没有负数的字段。
表示:float/double/decimal
在mysql中,浮点型和定点型可以用类型名称后加上M/D来表示值的长度,M代表值的总长度,D表示小数点后的位数。M和D又称之为精度和标度。如:float(5,2)表示:精度为5,小数点后有2位,则最大值就是:999.99。假设我们存入的数据是(100.009)那么这个值不满足我们存储的要求(5,2)所以它会将值进行四舍五入,变成(100.01)来存储。
注意: 在mysql中 float 和double在不指定精度的时候,默认以实际的精度显示,而decimal在不指定精度的时候,默认整数部分10,小数部分0
在PHP中小数没有单双精度的区别,而在MYSQL中有,
float占用4个字节,属于单精度
double占用8个字节,属于双精度
需要注意的是,计算机都不能很好的处理小数,他们保存的都是近似值,所以最好不要拿小数进行精确计算和精确比较。
小数也有正小数和负小数,也可以通过unsigned来去除符号。
表示:char/varchar/text
定长的字符串类型。申明:char(长度值)
一旦定义长度,不管存储的字符够不够这么长,都存储这么多字节、所以在使用的时候,要考虑到存储的数据长度会不会变化,如果需要变化,那么char类型就不适合你。
可变长度的字符串
varchar类型是用得比较多的一种类型,它可以根据数据的内容长度来改变存储的字节数。在申明的时候,同样需要传入一个长度如:varchar(255),255表示最长可以存储255,但是如果没有这么多的话,存储的时候就不会占用更多的存储空间。
注意:varchar会额外拿出一到两个字节来存储数据的真实长度,所以存储:abcd的时候,占用的空间会是:4+1,这里的1是用来存储数据真实长度的。
如果数据的长度超过255个字符,那么存储真实长度的空间就会变成2.
varchar类型可以存储65535个字符。
那char和varchar应该如何选择呢?
char类型: 计算更加快速
varchar类型: 更节省空间。
根据你的需要自己决定。
text用来存储更大类型的字符串。
它也是变长的。所以我们建议大家,将长度大于255的字符串都存为text类型。
对应的text类型有4个:
tinytext text mediumtext longtext
依次存储的长度不一样,根据自己的需要去选择,一般情况下,一篇文章,使用text类型已经足够了。
[每日更新-MySQL基础]5.常用的数据类型-整数和字符串
标签:sql space mysql基础 tiny 区别 top 指定 最小 大于
原文地址:http://blog.51cto.com/toulen/2155277