MySQL中的BLOB和TEXT数据types有什么区别?
什么是blob
和什么是text
? 有什么区别?
我什么时候需要使用blob
,什么时候需要text
作为数据types?
因为对于blob
和text
,有mediumblob
== smallblob
, smallblob
== small text
。 他们甚至有相同的含义?
看看这个MEDIUMBLOB
, MEDIUMTEXT L
+ 3个字节,其中L < 224
。
什么是L
?
TEXT和CHAR将转换为与他们有时间关联的字符集。 BLOB和BINARY只是存储字节。
BLOB用于存储二进制数据,而Text用于存储大string。
BLOB值被视为二进制string(字节string)。 它们没有字符集,sorting和比较是基于列值中字节的数值。
TEXT值被视为非二进制string(string)。 他们有一个字符集,并根据字符集的sorting对值进行sorting和比较。
TEXT和CHAR或者nchar,它们通常会被转换成纯文本,所以你只能像string一样存储文本。
BLOB和BINARY,这意味着你可以存储二进制数据,如图像只是存储字节。
Blob数据types存储像图像这样的二进制对象,而文本数据types存储像网页文章那样的文本对象
BLOB是一个二进制string,用于保存可变数量的数据。 大多数情况下,BLOB用于保存实际的图像二进制文件,而不是path和文件信息。 文本是大量的string。 通常情况下,博客或新闻文章将构成一个文本字段
在这种情况下使用L表示存储要求。 (长度+3),只要小于224即可。
参考: http : //dev.mysql.com/doc/refman/5.0/en/blob.html