MySQL: Integer & String types
Type | Storage(bytes) | Minimum Value | Maximum Value |
TINYINT | 1 | -128/0 | 127/255 |
SMALLINT | 2 | -23768/0 | 23767/65535 |
MEDIUMINT | 3 | -8388608/0 | 8388607/16777215 |
INT/INTEGER | 4 | -2147483648/0 | 2147483647/4294967295 |
BIGINT | 8 | -9223372036854775808/0 | -9223372036854775807/18446744073709551615 |
char(n) | 定长 | 索引效率高 程序里面使用trim去除多余的空白 | n 必须是一个介于 1 和 8,000 之间的数值,存储大小为 n 个字节 |
varchar(n) | 变长 | 效率没char高 灵活 | n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节 |
text(n) | 变长 | 非Unicode数据 | |
nchar(n) | 定长 | 处理unicode数据类型(所有的字符使用两个字节表示) | n 的值必须介于 1 与 4,000 之间。字节的存储大小为 n 的两倍 |
nvarchar(n) | 变长 | 处理unicode数据类型(所有的字符使用两个字节表示) | n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零 |
ntext(n) | 变长 | 处理unicode数据类型(所有的字符使用两个字节表示) |