当前位置:首页 >热点 >MySQL 中 Blob 和 Text 数据类型详解 主要用于存储二进制大对象

MySQL 中 Blob 和 Text 数据类型详解 主要用于存储二进制大对象

2024-06-30 17:41:28 [百科] 来源:避面尹邢网

MySQL 中 Blob 和 Text 数据类型详解

作者:MySQL技术 数据库 MySQL blob(binary large object) 是据类解一个可以存储二进制文件的容器,主要用于存储二进制大对象,型详例如可以存储图片,据类解音视频等文件。型详

 [[443202]]

前言:

前面文章我们介绍过一些常用数据类型的据类解用法,比如 int、型详char、据类解varchar 等。型详一直没详细介绍过 blob 及 text 类型,据类解虽然这两类数据类型不太常用,型详但在某些场景下还是据类解会用到的。本篇文章将主要介绍 blob 及 text 数据类型的型详相关知识。

1. blob 类型

blob(binary large object) 是据类解一个可以存储二进制文件的容器,主要用于存储二进制大对象,型详例如可以存储图片,据类解音视频等文件。按照可存储容量大小不同来分类,blob 类型可分为以下四种:

MySQL 中 Blob 和 Text 数据类型详解 主要用于存储二进制大对象

类型

MySQL 中 Blob 和 Text 数据类型详解 主要用于存储二进制大对象

可存储大小

MySQL 中 Blob 和 Text 数据类型详解 主要用于存储二进制大对象

用途

TINYBLOB

0 - 255字节

短文本二进制字符串

BLOB

0 - 65KB

二进制字符串

MEDIUMBLOB

0 - 16MB

二进制形式的长文本数据

LONGBLOB

0 - 4GB

二进制形式的极大文本数据

 

其中最常用的就是 blob 字段类型了,最多可存储 65KB 大小的数据,一般可用于存储图标或 logo 图片。不过数据库并不适合直接存储图片,如果有大量存储图片的需求,请使用对象存储或文件存储,数据库中可以存储图片路径来调用。

2. text 类型

text 类型同 char、varchar 类似,都可用于存储字符串,一般情况下,遇到存储长文本字符串的需求时可以考虑使用 text 类型。按照可存储大小区分,text 类型同样可分为以下四种:

类型

可存储大小

用途

TINYTEXT

0 - 255字节

一般文本字符串

TEXT

0 - 65 535字节

长文本字符串

MEDIUMTEXT

0 - 16 772 150字节

较大文本数据

LONGTEXT

0 - 4 294 967 295字节

极大文本数据

不过在日常场景中,存储字符串还是尽量用 varchar ,只有要存储长文本数据时,可以使用 text 类型。对比 varchar ,text 类型有以下特点:

  • text 类型无须指定长度。
  • 若数据库未启用严格的 sqlmode ,当插入的值超过 text 列的最大长度时,则该值会被截断插入并生成警告。
  • text 类型字段不能有默认值。
  • varchar 可直接创建索引,text 字段创建索引要指定前多少个字符。
  • text 类型检索效率比 varchar 要低。

下面我们来具体测试下 text 类型的使用方法:

  1. # 创建测试表 字符集是 utf8 
  2. mysql> show create table tb_text\G 
  3. (责任编辑:时尚)

    推荐文章
    热点阅读