MySQL中有两种字段类型很容易让人混淆,那就是text和blob,特别是对于自己编写博客程序的博主来说,不知道自己的博客正文字段是选择text类型还是blob类型。
以下是一些差异:
1. 主要区别
text 和 blob 的主要区别在于 blob 存储的是二进制数据,而 text 存储的是字符数据。目前博客内容中图片几乎都不是按照二进制形式存储在数据库中,而是上传到服务器后在文本中使用。
标签引用,这样的博客可以使用text类型。而blob可以将图片转为二进制保存到数据库中。
2. 类型差异
有 4 种类型的 blob: 、blob、 和 。它们仅在可容纳值的最大长度上有所不同。
文本也有 4 种类型:、text 和。这些类型具有与 blob 类型相同的最大长度和存储要求。
3. 字符集
Blob 列没有字符集,排序和比较基于列值字节的数值。Text 列有字符集,值根据字符集的排序规则进行排序和比较。
4. 大写和小写
在存储或检索文本或 blob 列期间没有大小写转换,它们都是相同的!
5.严格模式
在非严格模式下运行时,如果为 blob 或文本列分配的值超出了列类型的最大长度,则该值将被截断以适应。如果截断的字符不是空格,则会生成警告。使用严格 SQL 模式时,将生成错误并拒绝该值,而不是截断并发出警告。
6. 其他
保存或检索 blob 和 text 列的值时不会删除尾随空格。
对于 blob 和 text 列上的索引,必须指定索引前缀的长度。
Blob 和 text 列不能有默认值。
排序时仅使用列的第一个字节。默认值为 1024。
使用 group by 或 order by 处理具有长值的 blob 或文本列的另一种方法是,当您想要理解多余字节时,将列值转换为固定长度的对象。执行此操作的标准方法是使用函数。
blob 或文本对象的最大大小由其类型决定,但客户端和服务器之间可以传递的实际最大值由可用内存量和通信缓冲区的大小决定。您可以通过更改变量的值来更改消息缓冲区的大小,但您必须同时修改服务器和客户端程序。
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。