###附1 :关于CHAR与VARCHAR
CHAR定长的,而VARCHAR变长的;
假设设置为CHAR(10)、或VARCHAR(10)i, 假设存储hello字符串,使佣CHAR(10)时,会补_上5个空格得到设置值 10~ 的长度,如果使用VARCHAR(10)时,只存储hello,即5个字符。所以,在实际使用时,如果某列的数据都是固定长度,例如身份证号码固定是18位,则应该使用CHAR(18),如果某列的数据的长度可能不同,例如哪户名,每个户给自己设置的用户名的长度可能不同,则应该使用VARCHAR型,并约束最大长度,例如20~, 设置为VARCHAR(20)。
当使用VARCHAR型时,默认情况下,MySQL会另使用1个字节,用于记录实际存储的字符数,例如设置为“VARCHAR(15), 瞒helloworld时,实存入的字符串是10位,则MySQL别使用1个字节将10~记录下来!踝VARCHAR"中设置的字符长度更大,实存入的字符超过255个,MySQL会自动改为使用2个字节来记录实际存储的字符数,并粗,这2个字节就是上限了,所以,最多存入65535个字符。