admin 管理员组

文章数量: 887021


2023年12月19日发(作者:brinson分解)

mysql基本数据类型

MySQL是一种关系型数据库管理系统,它支持多种数据类型。MySQL的数据类型分为数值类型、日期和时间类型、字符串类型、二进制类型。以下是MySQL基本数据类型(注意:各类型数据的存储要占用的字节数,不同的数据库系统、不同的编译选项这些大小限制和取值范围有所不同):

1. 数值类型

MySQL数值类型有整数类型和小数类型两种:

1.1 整数类型

- TINYINT:有符号范围为-128~127,无符号范围0~255。占用1个字节。

- SMALLINT:有符号范围为-32768~32767,无符号范围0~65535。占用2个字节。

- MEDIUMINT:有符号范围为-8388608~8388607,无符号范围0~16777215。占用3个字节。

- INT:有符号范围为-2147483648~2147483647,无符号范围0~4294967295。占用4个字节。

- BIGINT:有符号范围为-9223372~9223372,无符号范围0~18446744。占用8个字节。

1.2 小数类型

- FLOAT:单精度浮点数,占用4个字节。

- DOUBLE:双精度浮点数,占用8个字节。

- DECIMAL:高精度浮点数,依赖于实际存储的数字大小而变化。

2. 日期和时间类型

MySQL日期和时间类型包括DATE、TIME、DATETIME、YEAR和TIMESTAMP:

- DATE:日期,存储的范围为'1000-01-01'到'9999-12-31'。占用3个字节。

- TIME:时间,存储的范围为 '-838:59:59'到 '838:59:59'。占用3个字节。

- DATETIME:日期时间,存储范围为 '1000-01-01 00:00:00'到 '9999-12-31 23:59:59'。占用8个字节。

- YEAR:年份,存储范围为1901到2155。占用1个字节。

- TIMESTAMP:自动记录的时间,存储范围为 '1970-01-01 00:00:01'到'2038-01-01 00:00:00'。占用4个字节。

3. 字符串类型

MySQL字符串类型包括CHAR、VARCHAR、TINYBLOB、TINYTEXT、BLOB、TEXT、MEDIUMBLOB、MEDIUMTEXT、

LONGBLOB、LONGTEXT:

- CHAR:固定长度字符串,最多能存储255个字符。占用的字节数等于存储的字符个数乘以每个字符占用的字节数。

- VARCHAR:可变长度字符串,最多能存储65535个字符(只占用实际使用的字节数,不会浪费空间)。占用的字节数等于存储的字符个数乘以每个字符占用的字节数,再加上1或2个字节的长度信息。

- TINYBLOB:最多能存储255个字节的二进制数据。

- TINYTEXT:最多能存储255个字符。

- BLOB:最多能存储65535个字节的二进制数据。

- TEXT:最多能存储65535个字符。

- MEDIUMBLOB:最多能存储16777215个字节的二进制数据。

- MEDIUMTEXT:最多能存储16777215个字符。

- LONGBLOB:最多能存储4294967295个字节的二进制数据。

- LONGTEXT:最多能存储4294967295个字符。

4. 二进制类型

MySQL二进制类型包括BIT、BINARY、VARBINARY:

- BIT:位; 可以存储1~64位。

- BINARY:固定长度字节流,占用的字节数等于存储的字节数。

- VARBINARY:可变长度字节流,最多能存储65535个字节,占用的字节数等于存储的字节数再加上1或2个字节的长度信息。

以上是MySQL基本数据类型的介绍。在实际应用中,需要根据实际需求和数据特性选择合适的数据类型,以达到最佳存储效果。同时,还需要注意MySQL版本、编译选项等因素的影响。


本文标签: 占用 类型 字节数 字节 实际