mysql查看二进制数据类型_MySQL字符串和二进制数据类型介绍

为了存储字符串、图片和声音等数据,MySQL提供了字符串和二进制类型。下面列举了MYSQL中的字符串和二进制类型。

ed92e9433e37325ee23da7a513191257.png

上面列举的字符串和二进制类型中,不同数据类型具有不同的特点,接下来,针对这些数据类型一一介绍。

CHAR和VARCHAR类型

CHAR和VARCHAR类型都用来表示字符串数据,不同的是,VARCHAR可以存储可变长度的字符串在MySQL中,定义CHAR和VARCHAR类型的方式如下所示:

CHAR(M) 或者 VARCHAR(M)

上面的的定义方式中,M指的是字符串的最大长度。为了帮助读者更好地理解CHAR和VARCHAR之间的区别,下面以CHAR(4)和VARCHAR(4)为例进行说明,具体如下。

427fc66692c864115b881b2dcba74463.png

从上面图中可以看出,当数据为CHAR(4)类型时,不管插入值的长度是多少,所占用的存储空间都是4个字节。而VARCHAR(4)所对应的数据所占用的字节数为实际长度加1。

BINARY和 VARBINARY类型

BINARY和 VARBINARY类型类似于CHAR和VARCHAR,不同的是,它们所表示的是二进制数据。定义 INARY和

VARBINARY类型的方式如下所

BINARY(M) EX VARBINARY (M)

在上述格式中,M指的是二进制数据的最大字节长度。

需要注意的是,BINARY类型的长度是固定的,如果数据的长度不足最大长度,将在数据的后面用“\0”补齐,最终达到指定长度。例如,指定数据类型为BINARY(3),当插入a时,实际存储的数据为“a0\0”,当插入ab时,实际存储的数据为“ab\0”。

TEXT类型

TEXT类型用于表示大文本数据,例如,文章内容、评论等,它的类型分为4种,具体如下所示。

BL0B类型

BLOB类型是一种特殊的二进制类型,它用于表示数据量很大的二进制数据,例如图片、PDF文档等。BLOB类型分为四种,具体如下所示。

需要注意的是,BL0B类型与TX类型很相似,但BL0B类型数据是根据二进制编码进行比较和排序,而仼XT类型数据是根据文本模式进行比较和排序。

ENM类型

ENUM类型又称为枚举类型,定义ENM类型的数据格式如下所示:

ENUM(‘值1', ’值2’, ’值33’ ,…, ’值n’)

在上述格式中,(‘值1', ’值2’, ’值33’ ,…,

’值n’)称为枚举列表,ENM类型的数据只能从枚举列表中取,并且只能取一个。需要注意的是,枚举列表中的每个值都有一个顺序编号,MySQL中存入的就是这个顺序编号,而不是列表中的值。

SET类型

SET类型用于表示字符串对象,它的值可以零个或多个,SET类型数据的定义格式与ENUM类型类似,具体语法格式如下所示:

SET(‘值1’,’值2’,’值3’,...,’值n’)

与ENUM类型相同,(‘值1’,’值2’,’值3’,...,’值n’)列表中的每个值都有一个顺序编号,MySQL中存入的也是这个顺序编号,而不是列表中的值。

BIT类型

BIT类型用于表示二进制数据。定义BIT类型的基本语法格式如下所示:

BIT(M)

在上述格式中,M用于表示每个值的位数,范围为1~64。需要注意的是,如果分配的BIT(M)类型的数据长度小于M,将在数据的左边用0补齐。例如,为BIT(6)分配值b‘101’的效果与分配b“000101’相同。

猜你喜欢:

MySQL安装教程

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值