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。
例如,VARCHAR(50) 定义了一个最大长度为 50 的字符串,如果插入的字符串只有 10 个字符,则实际存储的字符串为 10 个字符和一个字符串结束字符。VARCHAR 在值保存和检索时尾部的空格仍保留。
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 列。
Atas ialah kandungan terperinci mysql储存文字用什么. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!