MYSQL类型: https://www.cnblogs.com/liangxiaofeng/p/5806874.html 数值类型: 字符串类型: CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET、TINYBLOB、BLOB、 MEDIUMBLOB、LOGNGBLOB、BINARY(M) 、VARBINARY(M) 日期和时间类型: YEAR、DATE、TIME、DATETIME、TIMESTAMP 复合类型: ENUM、SET
CHAR和VARCHAR类型: 1、CHAR(M)为固定长度字符串,在定义时需要指定字符串长度,当保存时在右侧填充空格以达到指定的长度。长度范围是0~255个字节。 2、VARCHAR(M)是长度可变的字符串,当保存时会检查尾部是否存在空格,如果存在则删除。VARCHAR类型在5.0.3以下的版本中的最大长度限制为255,而在5.0.3及以上的版本中,VARCHAR数据类型的长度支持到了65535个字节。
TEXT类型: TEXT主要用来存储文章内容、评论和留言等,并且不删除保存内容的尾部空格,它有4种类型:TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT。TEXT没有默认长度,其最大长度是2^16-1个字节。
ENUM类型: ENUM存储预定义值的个数上限:65535。预定义值类型只能是字符串,如果插入的值不是预定义值,会存储为""。查询时预定义值时可以写预定义值对应的索引。""对应0,设置列时的预定义值索引对应从1开始,步长为1的值。NULL的索引在""前。语法格式:字段名 ENUM('值1','值2',……,'值N')。
SET类型: 1、SET类型与ENUM类型在定义时是类似的,区别在于ENUM类型的字段只能从预定义值中选择一个插入,而SET类型的字段可以从预定义值中选择多个字符串。 2、语法格式:字段名 SET('值1','值2',……,'值N') 3、特性: 1)插入的有重复值,MYSQL会自动删除重复值; 2)对插入的顺序不重视,会按定义时的顺序写入数据库; 3)对于插入的错误值,MYSQL将自动忽略并给出警告信息,但不影响程序运行。 BLOB和TEXT长度65535个字节。max_sort_length默认100,对BLOB、TEXT排序时注意部分比较。
BINARY(M) 、VARBINARY(M) 没有长度限制。
