Mysql数据库
Char和varchar区别:char类型数据的所占的字节固定,数据中有空格会自动删除。Varchar是所占字节可变的类型,数据中遇到空格会保留。不论是char还是varchar当数据所占字节大于定义好的字节时都会截取多余的数据。当值保存和检索时会在字符串尾部补一个空格,这是sql规范。具体例子如下:
值 | CHAR(4) | 存储需求 | VARCHAR(4) | 存储需求 |
'' | ' ' | 4个字节 | '' | 1个字节 |
'ab' | 'ab ' | 4个字节 | 'ab' | 3个字节 |
'abcd' | 'abcd' | 4个字节 | 'abcd' | 5个字节 |
'abcdefgh ' | 'abcd' | 4个字节 | 'abcd' | 5个字节 |
Int、double和float是固定字节的数据类型,不需要指定大小。