数值类型:

  整数类型

数据类型

取值范围

说明

tinyint 极小的整型

-27~27-1

占用一个字节

Smallint小型整型

-215~215-1

占用2个字节

Int

-231~231-1

占用4个字节

Bigint大型整型

-263~263-1

占用8个字节

 

小数类型

数据类型

取值范围

说明

Float

占用4个字节长度

有两种表示方式,一种是flaot(有效位数,小数位数);另一种是float(二进制位数),二进制位数表示该小数所占用的二进制位数。可以精确到小数点后7位。

Double

占用8个字节长度

表示方式是double(有效位数,小数位数)。可以精确到小数点后15位。

Decimal十进制小数

最大的有效位数是65

表示方式是decimal(有效位数,小数位数)。可以精确到小数点后30位。

由于存储小数类型占用空间较多,因此某一个要存储的数据是整型就不要用小数型存储。

 

字符串类型

数据类型

取值范围

说明

Char

0~255个字符

用于声明一个定长的数据。存储形式是charn),n代表存储的最大字符数

Varchar变长字符型

0~65535个字符

用于声明一个变长的数据。存储形式是varcharn),n代表存储的最大字符数

Binary二进制

0~255个字节

用于声明一个定长的数据。存储形式是binaryn),n代表存储的最大字节数

Varbinary变长二进制

0~65535个字节

用于声明一个变长的数据。存储的是二进制数据,形式是varbrinaryn),n代表存储的最大字节数

              除了上面列出的4种字符串类型外,还有用于存储大型二进制字符串数据和大型字符串数据的blobtext类型。其中在blob中分为4种类型:tinyblobblobmediumbloblongblob。在text类型中也分为4种:tinytexttextmediumtextlongtext。针对要存入的文本大小,可以选择blobtext类型中任意一种数据类型。

日期时间

在数据库中经常会存放一些日期时间数据,比如:在数据表中记录添加数据的时间。对于日期和时间类型的数据也可以用字符串类型存放,但是为了使数据库标准化,在数据库中提供了专门存储日期和时间的数据类型,在mysql中,日期时间类型包括datetimetimetimestampdate等。

数据类型

取值范围

说明

Datetime

1000-01-01 00:00:00~ 9999-12-31 23:59:59

存储的格式是YYYY-MM-DD HH:MM:SS

date

1000-01-01~9999-12-31 23:59:59

存储的格式是YYYY-MM-DD

Timestamp

显示的固定宽度是19个字符

主要用来记录updateinsert操作时的时间

Time

-838:59:59~838:59:59

存储的格式是HH:MM:SS

这里,timestamp类型比较特殊,timestamp的返回值是YYYY-MM-DD HH:MM:SS格式的,如果需要数字值,可以在设置为timestamp的数据上加上“+0”。比如说:timestamp得到返回值是2012-01-01 13:00:01,那么应在timestamp上加上“+0”后得到的就是20120101130001.

其他数据类型

1、  枚举类型,在mysql数据库中存储枚举类型值时,并不是直接将值记入数据库中,而是记录值得索引。值得索引是按值得顺序生产的,比如:枚举值是‘昨天’、‘今天’、‘明天’,那么值的索引就是123。在枚举类型中,索引值0代表的是错误的空字符串!

2、  集合类型,在mysql数据库中,保存集合类型数据库时也不是真正地保存值,而是保存其二进制编码。二进制的每一位对应集合中的每一项,其中低阶位对应的是集合中的第一个成员。

3、  位类型,位类型包括bitbool两种类型。Bit类型主要用来定义一个指定位数的数据。它的取值范围是1~64.那么,它所占的字节数是根据他的位数决定的,1个字节等于8位;bool用于逻辑值得判断,只有truefalse两个值。可以用bool类型存放判断的只有两个值的字段,这样可以节省数据的存储空间。比如:当数据库存储酒店房间是否为空房时,可以使用为类型表示。