1.CHAR类型和VARCHAR类型
CHAR类型和VARCHAR类型在创建表时指定了最大长度,其基本形式如下:
字符串类型(M)
其中,“字符串类型”参数指定了数据类型为CHAR类型还是VARCHAR类型;M参数指定了该字符串的最大长度为M。例如,CHAR(4)就是数据类型为CHAR类型,其最大长度为4。
CHAR类型的长度是固定的,在创建表时就指定了。其长度可以是0~255的任意值。例如,CHAR(100)就是指定CHAR类型的长度为100。CHAR存储值时,它们会用空格由填充到指定长度。
VARCHAR类型的长度是可变的,在创建表时指定了最大长度。定义时,其最大值可以取0~65535之间的任意值。指定VARCHAR类型的最大值以后,其长度可以在0到最大长度之间。例如,VARCHAR(100)的最大长度是100,但不是每条记录都要占用100个字节,而是在这个最大值范围内使用多少就分配多少。VARCHAR类型实际占用的空间为字符串的实际长度加1或2,这样既可有效节约系统时间。
值 | CHAR(4) | 存储字节数 | VARCHAR(4) | 存储字节数 |
‘’ | ‘’ | 4 | ‘’ | 1 |
‘ab’ | ‘ab’ | 4 | ‘ab’ | 3 |
‘abcd’ | ‘abcd’ | 4 | ‘abcd’ | 5 |
‘abcdefgh’ | - | #插入失败 | - | #插入失败 |