set:

create table rr(zz char(4));

create table test5 (rr set('美丽','态度好','温柔','善良'));

insert into test5 values('美丽,善良');

二进制类型

  二进制类型是在数据库中存储二进制数据的数据类型。二进制类型包括BINARY、VARBINARY、BIT、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB。

类型

取值范围

BINARY(M)

字节数为M,允许长度为0~M的定长二进制字符串

VARBINARY(M)

允许长度为0~M的变长二进制字符串,字节数为值的长度加1

BIT(M)

M位二进制数据,M最大值为64

TINYBLOB

可变长二进制数据,最多255个字节

BLOB

可变长二进制数据,最多2的16次方-1个字节

MEDIUMBLOB

可变长二进制数据,最多2的24次方-1个字节

LONGBLOB

可变长二进制数据,最多2的32次方-1个字节

  1、BINARY和VARBINARY

  两者唯一的差别在于BINARY当长度不够时会补\0。

  2、BIT类型

  BIT类型与SQLServer里的就差别大了。 其定义方式为:



BIT(M)


  其中"M"指定了该二进制的最大字节长度为M,M的最大值为64。如BIT(4)就是数据类型为BIT类型,长度为4。其能够存储的值为0-15。因为变成二进制后,15的值为1111。

  在查询BIT类型的数据时,要用BIN(字段名+0)来将值转换为二进制显示。

  set  bin 集合_字段名



CREATE TABLE Test6(BB BIT(4));
INSERT INTO Test6 VALUES(12);
SELECT BIN(BB+0) FROM Test6;


  上面的结果以二进制显示,最大的长度为4。

  3、BLOB类型

  BLOB类型是一种特殊的二进制类型。BLOB可以存储数据量很大的二进制数据,如图片,视频等。BLOB类型包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们之间的区别也只是最大长度不同。