目录

4.1 数据类型

MySQL数据类型定义了列中可以存储什么数据以及该数据怎样存储的规则,数据库中的每个列都应该有适当的数据类型,用于限制或允许该列中存储的数据,如果使用错误的数据类型可能会严重影响应用程序的功能和性能。所以在设计表时,应该特别重视数据列所用的数据类型。

MySQ支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

4.1.1 数值类型

MySQL支持所有标准SQL数值数据类型,整数类型包括TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,浮点数类型包括 FLOAT 和 DOUBLE,定点数类型为 DECIMAL。

如果使用的数据类型超出了数值类型的范围,则MySQL会抛出相应的错误。因此在实际使用的时候,应该首先确认好数据的取值范围,然后根据确认的结果选择合适的整数类型。

【整数类型】

【带小数类型】

FLOAT(单精度)、DOUBLE(双精度)、DECIMAL(定点数)

4.1.2 日期/时间类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR,每种日期和时间类型都有一个有效值范围,如果超出这个有效值范围,则会以0进行存储。

4.1.3 字符串类型

在MySQL中,字符串类型可以存储文本字符串数据,也可以存储一些图片、音频和视频数据,也就是二进制数据。因此在MySQL中,字符串类型可以分为文本字符串类型和二进制字符串类型。

【文本字符串类型】

MySQL中,文本字符串总体上分为CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET和JSON等类型,每种存储类型所占的存储空间如下:

【二进制字符串类型】

MySQL中的二进制字符串类型主要存储一些二进制数据,比如可以存储图片、音频和视频等二进制数据,MySQL中的二进制字符串有BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。