数据类型用于表示不同的数据进行存储,它决定了数据的存储格式,代表了不同的信息类型。常见的数据类型有整数、小数、字符串、时间类型。

1、数值类型

类型

存储空间大小

范围

说明

tinyint

1byte

有符号 -128~127

无符号 0~255

特小型整数(年龄)

smallint

2byte

有符号 -32768~32767 无符号 0~65535

小型整数

int/integer

4byte

有符号 -231~231-1

无符号 0~2^32-1

整数

bigint

8byte

大型整数

float

4byte

单精度

double

8byte

双精度

decimal

decimal(10,2)表示一共有10位数,2位小数

注意:因为浮点数会有一个误差的出现,切记使用两个浮点数比较是否相等。

2、字符串类型

类型

字符串长度

说明

char

0~255字节

char类型为固定长度字符串最多存储255个字符;当我们定义长度为char(n)

此列的数据最大长度为n,如果长度小于n时,则补’\u0000’进行补长直到长度为n

varchar

0~65536字节

可变长度字符串,最大长度为65535

tinyblob

0~255

存储二进制字符串

blob

0~65535

存储二进制字符串

mediumblob

0~1677215

存储二进制字符串

tinytext

0~255

文本数据(字符串)

text

0~65535

文本数据(字符串)

mediumtext

0~1677215

文本数据(字符串)

char和varchar区别
1、char是一种固定长度的类型,varchar则是一种可变长度的类型
2、char如果不指定(M)则表示长度默认是1个字符。varchar必须指定(M)。
3、由于某种原因char 固定长度,所以在处理速度上要比varchar快速很多,但相对费存储空间,所以对存储不大,但在速度上有要求的可以使用char类型,反之可以用varchar类型来实例。
4、char类型定义长度大于存储值会使用’/u000’进行补长(在检索操作中那些填补出来的空格字符将被去掉;如果存入时右边本身就带空格,检索时也会被去掉),在varchar只会占用刚好够用的大小,并加上一到两个的字符来记录长度。

3、时间类型

类型

格式

说明

date

2022-11-1

日期,只存储年月日

time

11:11:11

时间,只存储时分秒

year

2022

年份

datetime

2022-11-11

时间+日期,存储年月日时分秒

timesamp

20221111

时间+日期(时间戳)