注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

~~

~~

 
 
 

日志

 
 

mysql数据类型  

2013-05-23 17:55:06|  分类: mysql |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

数字类型:

1decimalnumeric 是同一种类型;是一种将数字以字符串的形式保存的.他们的值(包含小数点)是每一位消耗一个字节的存储空间,因此消耗比较大的空间。但是其优点是小数的位数固定;在存储过程中不会失真;这种比较适合于”价格“, ”金额“这种精度要求不高但是精确度要求较高的类型。

2、浮点类型:float 与 double 他们的优势是精确度;他们占用的存储空间为4字节和8字节;如果用到小数的,精确度要求不高的可以用float

3、整数类型:tinyint smallintmediumintint、 bigint  他们所占有的空间分别为1字节、2字节、3字节、4字节和8字节;这些类型所能标识的最大整数分别为255、 6553516777215429496729518446744073709551615。如:一般在数据表的时候,年龄我们就可以用tinyint足以;如果要用作一个肯定不超过16000000行的表(auto_increment);要用mediumint而不用int(每行节约一个字节;16000000可以节约10M!!!)

日期时间类型:

日期类型无非是datetimedatetimetimestampyear等几种类型。

如果对日期敏感,对时间没有要求的字段就要用date而不是datetime

字符串类型:

char 与 varchar: 主要区别在于char是固定长度;只要定义一个char(10) 在无论你所存储的数据是否达到10个字节时;都将占用10个字节的空间。Varchar是可变长度;如果一个字符的长度不确定时通过定义varcha是比较合理的;在存储的过程中定义varchar所存储的实际长度是所定义长度”+1“;char 与 varchar 的最大长度都可以定义到255

如:

一个存储股票名称和代码的表,股票名称绝大部分是四个字的,即8个字节;股票代码,上海的是六位数字,深圳的是四位数字。这些都是固定长度的,股票名称当然要用 CHAR(8) ;股票代码虽然是不固定长度,但如果使用VARVHAR(6),一个深圳的股票代码实际占用空间是5个字节,而一个上海的股票代码要占用7个字节!考虑到上海的股票数目比深圳的多,那么用VARCHAR(6)就不如CHAR(6)合算了。

大于20的char很少用到的; 大约100的varchar也很少用到的;如果超过了varchar(100)那就可以定义为text;

tinytext的最大长度也是255(占用空间是实际长度+1);

text的最大长度为65535(占用空间是实际长度+2);

Mediumint的最大长度16777215(占用空间是实际长度+3);

longtext的最大长度为4294967295(占用空间是实际长度+4);

枚举与集合类型:

enum 与 set:其中enum最多可以定义65535种不同的字符串中选择;只能选择其中的一种,占用空间为1个字节或2个字节(由枚举的数目决定); set 最多可以定义64中,可以选择0个或不限定个,占用空间为1个字节到8个字节(由集合可能成员的数目决定);

如:在存储性别是可以用enum(,)来选择,这样只需要一个字节;(跟tinyint一样大)




参考:http://database.51cto.com/art/200905/123220.htm

  评论这张
 
阅读(141)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018