decimal类型:
即DECIMAL(M,D),其中M表示数字总的个数,D表示小数点后面数字的位数,上例中的取值范围为-999.99~999.99。(float不够时取近似值 decimal直接截断,建议存钱的时候用这种格式)
text类型:
最大长度65535个字元
longtext类型:
最大长度为:4294967295(2^32-1)个字符。
blob类型:
适合于存储二进制文件,例如视频,图片,音乐文件
bigint类型:
存储所占8个字节,也就是2的64次方,可以存储2的64次种可能性,无符号可以存储0~((2³²×²)-1),有符号则是-(2³²×²)/2 ~ (2³²×²)/2-1。
tinyint类型:
存储所占一个字节,一个字节等于8bit,根据1bit可以存储0到1两种可能性,因此tinyint类型可以存储2的8次方,也就是256种可能性,从0开始计数,无符号也就是可以 存储0~255,如果是有符号,那就是-128~127
timestamp类型:
TIMESTAMP值返回后显示为’YYYY-MM-DD HH:MM:SS’格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP 列添加+0
time类型:
MySQL以’HH:MM:SS’格式显示TIME值,但允许使用字符串或数字为TIME列分配值
datetime类型:
支持的范围是’1000-01-01 00:00:00’到’9999-12-31 23:59:59’。
MySQL以’YYYY-MM-DD HH:MM:SS’格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值
timestamp类型:
TIMESTAMP支持的时间范围较小,其取值范围从19700101080001到2038年的某个时间,而DATETIME是从1000-01-01 00:00:00到9999-12-31 23:59:59,范围更大。TIMESTAMP的插入和查询都受当地时区的影响,更能反应出实际的日期。而DATETIME则只能反应出插入时当地的时区,其他时区的人查看数据必然会有误差
的。TIMESTAMP的属性受MySQL版本和服务器SQLMode的影响很大,本章都是以MySQL 5.0为例进行介绍,在不同的版本下可以参考相应的MySQL帮助文档。
char类型:
固定长度的字符串,当数据量大的时候建议用它来替代Varchar。 CHAR和VARCHAR类型声明的长度表示保存的最大字符数。例如,CHAR(30)可以占用30个字符。对于MyISAM表,推荐CHAR类型;对于InnoDB表,推荐VARCHAR类型。另外,在进行检索的时候,若列值的尾部含有空格,则CHAR列会删除其尾部的空格,而VARCHAR则会保留空格。
varchar类型:
可变长度的字符串,长度可以指定为0到65535之间的值。VARCHAR的最大有效长度由最大行大小和使用的字符集确定。在MySQL 4.1之前的版本,VARCHAR(50)的“50”指的是50字节(bytes)。如果存放UTF8汉字时,那么最多只能存放16个(每个汉字3字节)。从MySQL 4.1版本开始,VARCHAR(50)的“50”指的是50字符(character),无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放50个。