MySQL支持的数据类型(3)( 字符串)

字符串类型 字节 描述及存储需求
char(m) m m为0~255之间的整数
varchar(m)   m为0~65535之间的整数
tinyblob   允许长度为0~255字节,值的长度+1个字节
blob   允许长度为0~65535字节,值的长度+2个字节
mediumblob   允许长度为0~167772150字节,值的长度+3个字节
longblob   允许长度为0~4294967295字节,值的长度+4个字节
tinytext   允许长度为0~255字节,值的长度+2个字节
text   允许长度为0~65535字节,值的长度+2个字节
mediumtext   允许长度为0~167772150字节,值的长度+3个字节
longtext   允许长度为0~4294967295字节,值的长度+4个字节
varbinary(m)   允许长度0~m个字节的变长字节字符串,值的长度+1个字节
binary(m) m 允许长度0~m个字节的定长字节字符串

char和varchar类型

1.char列的长度固定。varchar的列中的值为可变字符串。

2.检索时,char列删除了尾部的空格;varchar则保留尾部空格。

enum类型

1.enum是枚举类型,是一个字符串对象。它的值范围需要在创建表时通过枚举方式显式指定。

create table A( name enum('Y','N') );
desc A;

2.1~255个成员的枚举需要1字节存储。255~65535个成员需要2字节存储。

3.忽略大小写。插入null会存为null。

4.超出允许值范围的值,保存为空(空不等于null)。

insert into A value('y'),('N'),('n'),(1),(null);
select*from A;

set类型

1.set类型是一个字符串对象,可以包含0~64个成员。一个字段一次可以选取多个成员。

2.1~8个成员的集合,占1字节;

  9~16个成员的集合,占2字节;

  17~24个成员的集合,占3字节;

  25~32个成员的集合,占4字节;

  33~64个成员的集合,占8字节。

3.包含重复成员的集合只取一次。

4.忽略大小写。插入null会存为null。

5.超出允许值范围的值,留空。

原文地址:https://www.cnblogs.com/drake-guo/p/6130620.html