MySQL是一种关系型数据库管理系统,它支持多种数据类型,包括整数、浮点数、定点数、字符串、二进制和日期/时间类型。在本文中,我们将列出MySQL中所有的字段类型,并解释每种类型的含义、所占用的字节、存储范围、最大存储值以及使用场景。
- 整数类型包含(TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT),适用于存储整数,如用户ID、年龄等。
- 浮点数类型(FLOAT、DOUBLE),适用于存储小数,如商品价格、订单金额等。
- 定点数类型(DECIMAL),适用于存储精度要求高的数值,如货币金额等。
- 字符串类型(CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT),适用于存储文本数据,如用户名、地址等。
- 二进制类型(BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB),适用于存储二进制数据,如图片、音频等。
- 日期和时间类型(DATE、TIME、DATETIME、TIMESTAMP),适用于存储日期和时间相关的数据,如订单创建时间、用户注册时间等。
详细表格预览
字段类型 | 所占字节 | 存储范围 | 最大存储值 | 使用场景 |
---|---|---|---|---|
TINYINT | 1 | -128~127 | 127 | 存储小整数 |
SMALLINT | 2 | -32768~32767 | 32767 | 存储中等大小的整数 |
MEDIUMINT | 3 | -8388608~8388607 | 8388607 | 存储较大的整数 |
INT | 4 | -2147483648~2147483647 | 2147483647 | 存储大整数 |
BIGINT | 8 | -9223372036854775808~9223372036854775807 | 9223372036854775807 | 存储极大整数 |
FLOAT | 4 | -3.402823466E+38~3.402823466E+38 | 3.402823466E+38 | 存储单精度浮点数 |
DOUBLE | 8 | -1.7976931348623157E+308~1.7976931348623157E+308 | 1.7976931348623157E+308 | 存储双精度浮点数 |
DECIMAL | 可变长度 | – | – | 存储精度要求高的数值 |
CHAR | 固定长度 | 最多255字节 | 255个字符 | 存储长度固定的字符串 |
VARCHAR | 可变长度 | 最多65535字节 | 65535个字符 | 存储长度不固定的字符串 |
TINYTEXT | – | 最多255字节 | 255个字符 | 存储短文本 |
TEXT | – | 最多65535字节 | 65535个字符 | 存储长文本 |
MEDIUMTEXT | – | 最多16777215字节 | 16777215个字符 | 存储较长的文本 |
LONGTEXT | – | 最多4294967295字节 | 4294967295个字符 | 存储极长的文本 |
BINARY | 固定长度 | 最多255字节 | 255个字符 | 存储长度固定的二进制数据 |
VARBINARY | 可变长度 | 最多65535字节 | 65535个字符 | 存储长度不固定的二进制数据 |
TINYBLOB | – | 最多255字节 | 255个字符 | 存储短二进制数据 |
BLOB | – | 最多65535字节 | 65535个字符 | 存储长二进制数据 |
MEDIUMBLOB | – | 最多16777215字节 | 16777215个字符 | 存储较长的二进制数据 |
LONGBLOB | – | 最多4294967295字节 | 4294967295个字符 | 存储极长的二进制数据 |
DATE | 3 | ‘1000-01-01’~‘9999-12-31’ | ‘9999-12-31’ | 存储日期 |
TIME | 3 | ‘-838:59:59’~‘838:59:59’ | ‘838:59:59’ | 存储时间 |
DATETIME | 8 | ‘1000-01-01 00:00:00’~‘9999-12-31 23:59:59’ | ‘9999-12-31 23:59:59’ | 存储日期和时间 |
TIMESTAMP | 4 | ‘1970-01-01 00:00:01’~‘2038-01-19 03:14:07’ | ‘2038-01-19 03:14:07’ | 存储时间戳 |