mysql中类型长度以及text和varchar的区别

来源:互联网 发布:手机淘宝网登录在哪里 编辑:程序博客网 时间:2024/05/20 00:52

参考:http://blog.csdn.net/geniussnail/article/details/7753256

关于char,varchar与text平时没有太在意,一般来说,可能现在大家都是用varchar。但是当要存储的内容比较大时,究竟是选择varchar还是text呢?不知道。。。。。。

于是去查阅了一些资料,顺便将这三种类型做个比较:

(1)char:  char不用多说了,它是定长格式的,但是长度范围是0~255. 当你想要储存一个长度不足255的字符时,MySQL会用空格来填充剩下的字符。因此在读取数据时,char类型的数据要进行处理,把后面的空格去除。

(2)varchar:  关于varchar,有的说最大长度是255,也有的说是65535,查阅很多资料后发现是这样的:varchar类型在5.0.3以下的版本中的最大长度限制为255,而在5.0.3及以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节(注意是字节而不是字符!!!)的数据(起始位和结束位占去了3个字节),也就是说,在5.0.3以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以在高版本中使用可变长的varchar来存放,这样就能有效的减少数据库文件的大小。

(3)text:与char和varchar不同的是,text不可以有默认值,其最大长度是2的16次方-1

总结起来,有几点:

  1. 经常变化的字段用varchar
  2. 知道固定长度的用char
  3. 尽量用varchar
  4. 超过255字符的只能用varchar或者text
  5. 能用varchar的地方不用text  

 

 



附录

 

常见

MySQL

数据类型(留作备忘)

 

类型

 

大小

 

描述

 

CAHR(Length)

 

Length

字节

 

定长字段,长度为

0~255

个字

 

VARCHAR(Length)

 

String

长度

+1

字节或

String

+2

字节

 

变长字段,

长度为

0~65 535

字符

 

TINYTEXT

 

String

长度

+1

字节

 

字符串,最大长度为

255

个字

 

TEXT

 

String

长度

+2

字节

 

字符串,

最大长度为

65 535

字符

 

MEDIUMINT

 

String

长度

+3

字节

 

字符串,最大长度为

16 777 

215

个字符

 

LONGTEXT

 

String

长度

+4

字节

 

字符串,

最大长度为

4 294 967 

295

个字符

 

TINYINT(Length)

 

1

字节

 

范围:

-128~127

,或者

0~255

(无符号)

 

SMALLINT(Length)

 

2

字节

 

范围:

-32 768~32 767

,或者

0~65 535

(无符号)

 

MEDIUMINT(Length)

 

3

字节

 

范围:

-8 388 608~8 388 607

或者

0~16 777 215

(无符号)

 

INT(Length)

 

4

字节

 

范围:

-2 147 483 648~2 147 483 

647

或者

0~4 294 967 295

(无

符号)

 

BIGINT(Length)

 

8

字节

 

范围:

-9 223 372 036 854 775 

808~9 223 372 036 854 775 

807

,或者

0~18 446 744 073 

709 551 615

(无符号)

 

FLOAT(Length, Decimals)

 

4

字节

 

具有浮动小数点的较小的数

 

DOUBLE(Length, Decimals)

 

8

字节

 

具有浮动小数点的较大的数

 

DECIMAL(Length, Decimals)

 

Length+1

字节或

Length+2

字节

 

存储为字符串的

DOUBLE

允许

固定的小数点

 

DATE

 

3

字节

 

采用

YYYY-MM-DD

格式

 

DATETIME

 

8

字节

 

采用

YYYY-MM-DD HH:MM:SS


阅读全文
0 0
原创粉丝点击