标签(空格分隔): MYSQL
基本说明
MYSQL支持如下的字符串数据类型:CHAR,VARCHAR,LONG VARCHAR,LONG TEXT,他们都是用来存储文本字符串的。
一个字符列拥有一个最大长度。这个长度表示最多由多少个字符可以存储在相关的列。不要把字符数和在磁盘上占据的紫结束搞混了。使用ASCII字符集,每个字符使用1个字节,在其他字符集中可能要4个字节(这意味着,一个包含10个字符的字符串可能要占据40个字节的磁盘空间)。
字符数据类型可以分为两类:固定长度(CHAR) 和可变长的(VARCHAR,LONG VARCHAR,LONGTEXT)。
CHAR(M) [BINARY]
一个定长字符串,当存储时,总是是用空格填满右边到指定的长度。M的范围是1 ~ 255个字符。当值被检索时,空格尾部被删除。CHAR值根据缺省字符集以大小写不区分的方式排序和比较,除非给出BINARY关键词。NATIONAL CHAR(短形式NCHAR)是ANSI SQL的方式来定义CHAR列应该使用缺省字符集。这是MySQL的缺省。CHAR是CHARACTER的一个缩写。
[NATIONAL] VARCHAR(M) [BINARY]
一个变长字符串。注意:当值被存储时,尾部的空格被删除(这不同于ANSI SQL规范)。M的范围是1 ~ 255个字符。 VARCHAR值根据缺省字符集以大小写不区分的方式排序和比较,除非给出BINARY关键词值。 VARCHAR是CHARACTER VARYING一个缩写。
取值范围
类型说明 | 字符个数 |
---|---|
CHAR | 255 (2^8 –1) characters |
VARCHAR | 255 (2^8 –1) |
LONG VARCHAR | 16,777,215 (2^24 –1) |
TINYTEXT,TINYBLOB | (2^8-1) |
TEXT,BLOB | 65535(2^16-1) |
MEDIUMTEXT,MEDIUMBLOB | 16777215 (2^24 –1) |
LONGTEXT,LONGBLOB | 4,294,967,295 (2^32 –1) |