mysql 的数据类型

Posted prozhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 的数据类型相关的知识,希望对你有一定的参考价值。

分类

类型

M?

UNSIGNED?

ZEROFILL?

范围

说明

?

?

?

?

?

bit?

yes?

no?

no?

1~64b?

bit(2)表示2个二进制位,取值范围0~3

tinyint?

yes?

yes?

yes?

1B?

标记UNSIGNED时,范围为0~255。当标记ZEROFILL时,同时表示标记了UNSIGNED。当位数不足M时,添加前导0。例如tinyint(5),当值为123时,那么会添加2个前导零,即00123。

smallint?

yes?

yes?

yes?

2B?

同上

mediumint?

yes

yes?

yes?

3B?

同上

int?

yes?

yes?

yes?

4B?

同上

integer?

yes?

yes?

yes?

4B?

与int完全相同

bigint?

yes?

yes?

yes?

8B?

同上

?

?

?

?

?

char?

yes?

no?

no?

255B?

固定长度字符串类型。char(4),当数据长度为2时,会在后面添加2个空格补位。

varchar?

yes?

no?

no?

65535B?

可变长度字符串。varchar(4),当数据长度为2时,不会添加空格补位。占3个字节,其中一个字节用来记录长度。当数据长度大于255时,记录长度就需要2个字节了。

tinytext?

yes?

no?

no?

28--1B

可变长度字符串。

text?

no?

no?

no?

216-1B

同上。

mediumtext?

no?

no?

no?

224-1B

同上。

longtext?

no?

no?

no?

232-1B

同上。

?

?

?

?

binary?

yes?

no?

no?

255B?

固定长度二进制类型。binary(10),当数据为5B时,会添加5B来补位。即长度为10B。

varbinary?

yes ?

no?

no?

255B?

可变长度二进制类型。varbinary(10),当数据为5B时,不会补位,长度为6B,其中1B用来记录长度。

tinyblob?

no?

no?

no?

28--1B(256B)

可变长度二进制类型。

blob?

no?

no?

no?

216-1B(64K)

同上

mediumblob?

no?

no?

no?

224-1B(16M)

同上

longblob?

no?

no?

no?

232-1B(4G)

同上

?

?

?

?

float?

yes?

yes?

yes?

±3.4E38

float(5,2)表示长度为5,其中2位小数。与Java中float精度相同!

double?

yes?

yes?

yes?

±1.79E308

同上。

numeric?

yes ?

yes ?

yes?

小数点前后有效位之和不大于65位。

使用与float、double相同,但存储方式不同,把9位十进制数压缩成4个字节来存储。相当与把浮点数当成字符来保存,但进行了压缩。比float、double更安全可靠。不会出现精度缺失的问题。

decimal?

yes?

yes?

yes?

65位

在MySQL中decimal与numeric是完全相同的。二者在表示钱时,很有用。

bool?

no?

no?

no?

no?

表示布尔值,但真实上是使用tinyint(1)表示的。当值为0时表示假,当值为非0时表示真。-128也是真。

boolean?

no?

no?

no?

no?

与bool完全相同。

?


date?

no?

no?

no?

no?

yyyy-mm-dd?

datetime?

no?

no?

no?

no?

yyyy-mm-dd hh:mm:ss?

timestamp?

yes?

no?

no?

no?

时间戳,用在记录插入与更新自动记录时间。

year?

yes?

no?

no?

no?

year(2),表示两位的年

time?

no?

no?

no?

no?

只表示时间

?

以上是关于mysql 的数据类型的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据类型

mysql之语言分类及数据提交类型

MySQL JSON类型

MySQL 数据类型

MySQL 数据类型

详解MySQL下表的创建与销毁