mysql存储文本时,使用以下三个类型。
char长度固定,varchar和text长度可变。(char可能存在空间浪费,字符串长度不够,则后面用空格补足空字符串) char和varchar可以设定默认值,text没有默认值。 char和varchar定义时要指定长度,text定义时通常不用指定长度,可以自己计算。 CHAR 和 VARCHAR 类型 CHAR(M) 为固定长度字符串,在定义时指定字符串列长。当保存时,在右侧填充空格以达到指定的长度。M 表示列的长度,范围是 0~255 个字符。 例如,CHAR(4) 定义了一个固定长度的字符串列,包含的字符个数最大为 4。当检索到 CHAR 值时,尾部的空格将被删除。
VARCHAR(M) 是长度可变的字符串,M 表示最大列的长度,M 的范围是 0~65535。VARCHAR 的最大实际长度由最长的行的大小和使用的字符集确定,而实际占用的空间为字符串的实际长度加 1。 TEXT 类型 TEXT 列保存非二进制字符串,如文章内容、评论等。当保存或查询 TEXT 列的值时,不删除尾部空格。 TEXT 类型分为 4 种:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。不同的 TEXT 类型的存储空间和数据长度不同。 TINYTEXT 表示长度为 255(28-1)字符的 TEXT 列。 TEXT 表示长度为 65535(216-1)字符的 TEXT 列。 MEDIUMTEXT 表示长度为 16777215(224-1)字符的 TEXT 列。 LONGTEXT 表示长度为 4294967295 或 4GB(232-1)字符的 TEXT 列。 (责任编辑:yang) |