mysql数据库学习04-数据类型

1、字符串

char:

定长字符串,可以在后面的小括号中指定固定长度;例如:char(4),表示固定字符长度为4. 如果存"abc",会被存储为“abc ”,不足4位会在右边用空格填充。最多支持255个字节。

varchar:

变长字符串,可以在后面的小括号中指定最长字符串长度;例如:varchar(20),意思是最多20个字符,多了会出错。最多支持65535个字节,一般使用时不超过255,如果需要超过255,建议使用text类型。本身需要两个字节来表示长度。

text:

长文本类型,65535个字节

blob:

大数据对象,以字节方式存储数据。编程时,有特殊的处理方式。

2、数字

特别注意:类似int(6),小括号内的6,不影响保存的数值范围,只影响查询时显示的位数;如果设置为zerofill,表示显示时位数不足时用0填充显示。

float:

浮点类型4个字节,可能会保存不精确值

double:

双浮点数8个字节。可能会保存不精确值

DECIMAL/mumeric:

保存精确浮点数,需要制定总长度和小数位数。例如DECIMAL(10,2),表示整数位8位,小数位2位

3、日期

date:

年月日

time:

时分秒

datetime:

年月日时分秒

timestamp:

含义同datetime,不过当前mysql版本支持记录日期最多到2038年。而且在mysql中有一个特殊处理,就是第一个被定义为timestamp类型的字段,会在该行数据被更新时,会自动修改为系统的当前时间。

也可以使用bigint来表示时间,java中使用自1970-01-01 零点作为起始时间的毫秒值表示时间。

附录说明:

1、表字段的总字节量不能超过65535

2、varchar本身需要两个字节来表示长度

3、varchar在字段允许null字段的情况下,需要有一个额外的字节

4、text类型,可以存储65535个字节的长度,但只占用10个字节的表字段额度。

测试表字段总字节量的例子:

create table tb_maxsize(

id int(6),                          --  4个字节

title varchar(21839),     --  21839*3+2+1

name text                     -- 占10个字节

);

猜你喜欢

转载自blog.csdn.net/zhuangxingzan/article/details/84789728