更新时间:2019年11月21日11时49分 来源:传智播客 浏览次数:
从上面图中可以看出,当数据为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安装教程
软件测试培训课程