1、整数:TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)、BIGINT,比较常用的是INT,这五种类型只是取值范围不一样,具体的范围可以在mysql shell界面使用“HELP 类型”这样的命令查看,例如HELP INT。
2、小数:FLOAT、DOUBLE、DEC、CECIMAL、BIT,当需要精确到小数点后10位以上,就需要选择DOUBLE类型,如果需要比DOUBLE精确度还高,就可以使用DEC和DECIMAL,需要注意的是,FLOAT和DOUBLE存储的是近似值,DECIMAL存储的是字符串,因此在需要表示金额等货币类型时优先选择DECIMAL.
3、时间:DATE、DATETIME、TIMESTAMP、TIME、YEAR,每种日期和时间类型都有取值范围,如果插入的值超过了,就会插入默认值,同样可以使用HELP来查看这个范围。
时间具体应用场合如下:
如果要表示年月日,一般用DATE;
年月日时分秒,DATETIME;
如果要经常插入或更新,TIMESTAMP;
时分秒,TIME;
年份,YEAR;
其中只有TIMESTAMP类型能够与实际时区对应。
4、字符串:CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB,其中VARCHAR相对于CHAR是可变的,BINARY以及它后边的几种类型可以存储二进制文件包括图片、音乐和视频等,而它之前的集中则只能存储字符数据。