字符串类型用来存储字符串数据,除了可以存储字符串数据外,还可以存储其他数据。比如图片和声音的二进制数据。MySQL支持两类字符串数据:文本字符串和二进制字符串。
MySQL中文本字符串类型包括:CHAR、VARCHAR、TEXT、ENUM和SET。
1、CHAR和VARCHAR类型。
CHAR(M) 为固定长度字符串,在定义时指定字符串列长。当保存时在右侧填充空格以达到指定的长度。M表示列长度,M的范围是 0-255个字符。
VARCHAR(M) 是长度可变的字符串,M表示最大列长度。M的范围是 0-65535。VARCHAR 的最大实际长度由最长的行的大小和使用的字符集确定,而其实际占用的空间为字符串的实际长度加1。例如:VARCHAR(50)定义了一个最大长度为50的字符串,如果插入的字符串只有10个字符,则实际存储的字符串为10个字符和1个字符串结束字符。VARCHAR 在值保存和检索时尾部的空格扔保留。
2、TEXT类型
TEXT列保存非二进制字符串。
分为4个类型:TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT。
1)TINYTEXT 最大长度为 255个字符。(2的8次方-1)
2) TEXT 最大长度为 65535个字符。 (2的16次方-1)
3)MEDIUMTEXT 最大长度为 16777215个字符。 (2的24次方-1)
4)LONGTEXT 最大长度为 4 294 967 295 个字符。(2的32次方-1)