MySQL中的数据类型

MySQL中的数据类型


一、数值类型


MySQL支持所有标准SQL数值数据类型;
作为SQL标准的扩展,MySQL也支持整形类型Tinyint、Mediumint和Bigint;
MySQL中的数据类型

数值类型中的长度m是指显示长度,并不表示存储长度,只有字段指定zerofill时有用;
例:int(3),如果实际值是2,列指定了zerofill,查询结果就是002,左边用0来填充;


二、浮点型


MySQL中的数据类型


三、字符串型


MySQL中的数据类型

Char和varchar

1.Char(n)若存入字符数小于n,则以空格补于器后,查询之时再将空格去掉。所以char类型存储的字符末尾不能有空格,varchar不限于此;

2.Char类型的字符串检索速度要比varcahr类型快;

Varchar和text

1.Varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节;

2.Text类型不能有默认值;

3.Varchar可直接创建索引,text创建索引要指定前多少个字符。Varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用;


四、日期类型


MySQL中的数据类型


五、二进制数据类型(BLOB)


1.BLOB和TEXT存储方式不同,text以文本方式存储,英文存储区分大小写,而blob是以二进制方式存储,不分大小写;

2.Blob存储的数据只能整体读出;

3.Text可以指定字符集,blob不用指定字符集;