mysql数据库管理系统提供整数类型,浮点数类型,定点数类型和位类型,日期和时间类型,字符串类型.
-------------------------------整数类型-----------------------------------------------------------------------------
可以根据字节数算出该数据类型的取值范围
TINYINT , SMALLINT , MEDIUINT , INT , BIGINT 分别占用1,,2,3,4,8个字节,包含无符号型和有符号型
------------------------------浮点数类型----------------------------------------------------------------------------
包含float和double,分别占用4和8个字节,如果数位要精确到10位以上,那么就要选择double类型.
-----------------------------定点数类型------------------------------------------------------------------------------
DEC(M,D)拥有比double更高的精度,存储的是字符串而不是近似值,在需要表示金额等货币时需要使用
占用字节数为M+2
--------------------------------------位类型--------------------------------------------------------------------------
bit(m) 占m个字节
加b的按二进制转换,不加b按ascii码转化
-----------------------------日期和时间类型-------------------------------------------------------------------------
各种日期时间类型有自己适用的场合:
.如果要表示年月日,一般会用date类型
.如果要表示年月日时分秒,一般会用datetime类型
.如果需要经常插入或者更新日期为当前系统时间,一般会使用timestamp类型
.如果要表示时分秒,一般会使用time类型
.如果要表示年份,一般会使用year类型
datetime在时间跨度上优于timestamp,可以表示的时间范围更长,而timestamp的空间跨度更大,适用于应用的使用范围广,在各个时区均适用
-----------------------------字符串类型---------------------------------------------------------
1.char 和varchar类型,适用于存储少量字符,如果需要存储的字符串长度需要经常发生变化,择可以选择varchar类型
2.tinytext , text ,mediumtext , longtext是text系列的字符串类型,如果要存储大量字符串,则可以选择text系列字符串类型,至于选择当中的哪一个,要根据所存储的字符串长度.
3.binary和varbinary字符串类型,与char和varchar的区别是除了可以存储字符串数据,还可以存储二进制数据,适用于存储少量二进制数据,根据长度是否需要变化选择具体类型
4.blob和text的关系就相当于binary和char的关系