是5.0版本的,MySQL中的字符类型
spa
字符串类型对象 |
字节ci |
描述及存储需求字符串 |
CHAR(M)table |
M数据类型 |
M为0~255之间的整数二进制 |
VARCHAR(M)im |
M为0~65535之间的整数,值的长度+1个字节数据 |
|
TINYBLOBimg |
容许长度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个字节的定长字节字符串 |
1. CHAR和VARCHAR类型在检索的时候,CHAR 列删除了尾部的空格,而VARCHAR则保留这些空格。举例,以下:MYSQL支持的数据类型——字符串类型 - 珊迪 - 珊迪2. BINARY和VARBINARY相似于CHAR和VARCHAR,不一样的是它们包含二进制字符串而不包含非二进制字符串。例子以下:MYSQL支持的数据类型——字符串类型 - 珊迪 - 珊迪能够发现,当保存BINARY值时,在值的最后经过填充“ox00”(零字节)以达到指定的字段定义长度。3. ENUM中文名称叫枚举类型,它的值范围须要在建立表时经过枚举方式显示指定,对1~255个成员的枚举须要1个字节存储;对于255~65535个成员,须要2个字节存储。最多容许有65535个成员。举例以下:MYSQL支持的数据类型——字符串类型 - 珊迪 - 珊迪从上面的例子中能够看出ENUM类型是忽略大小的,对’M’ , ‘f’在存储的时候将它们都转成了大写,还能够看出对于插入不在ENUM指定范围内的值时,并无返回警告,而是插入了enum(‘M’ , ‘F’)的第一值‘M‘,这点要特别注意。另外,ENUM类型只容许从值集合中选取单个值,而不能一次取多个值。4. SET类型Set和ENUM类型很是相似,也是一个字符串对象,里面能够包含0~64个成员。根据成员的不一样,存储上也有所不一样。1~8成员的集合,占1个字节9~16成员的集合,占2个字节17~24成员的集合,占3个字节25~32成员的集合,占4个字节33~64成员的集合,占5个字节Set和ENUM除了存储以外,最主要的区别在于set类型一次能够选取多个成员,而ENUM则只能选择一个。举例以下:MYSQL支持的数据类型——字符串类型 - 珊迪 - 珊迪Set类型能够从容许值集合中选择任意1个或多个元素进行组合,因此对于输入的值只要是在容许值的组合范围内,均可以正确的注入到set类型的列中。对于超出容许值范围的值例如(’a,v’)将不容许注入到上面例子中设置的set类型列中,而对于(’a,d,a’)这样包含重复成员的集合将只取一次,写入后的结果为“a,d”