MySQL数据类型分为以下几类:数值类型、日期和时间类型、字符串类型以及其他类型。
数值类型
| 类型 | 描述 | 取值范围 |
|---|---|---|
| tinyint | 微型整数 |
-128 到 127 / 0 到 255 (UNSIGNED) 即:-2^7 到 2^7 - 1 / 0 到 2^8 - 1 |
| smallint | 小型整数 |
-32,768 到 32,767 / 0 到 65,535 (UNSIGNED) 即:-2^{15} 到 2^{15} - 1 / 0 到 2^{16} - 1 |
| mediumint | 中等整数 |
-8,388,608 到 8,388,607 / 0 到 16,777,215 (UNSIGNED) 即:-2^{23} 到 2^{23} - 1 / 0 到 2^{24} - 1 |
| int/integer | 标准整数 |
有符号:-2,147,483,648 到 2,147,483,647 无符号:0 到 4,294,967,295 (UNSIGNED) 即:-2^{31} 到 2^{31} - 1 / 0 到 2^{32} - 1 |
| bigint | 大型整数 |
有符号:-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 无符号:0 到 18,446,744,073,709,551,615 (UNSIGNED) 即:-2^{63} 到 2^{63} - 1 / 0 到 2^{64} - 1 |
| float | 单精度浮点数 |
值范围约为: -3.402823466 \times 10^{38} 到 3.402823466 \times 10^{38} |
| double | 双精度浮点数 |
值范围约为: -1.7976931348623157 \times 10^{308} 到 1.7976931348623157 \times 10^{308} |
| decimal | 固定小数 | 取决于定义的精度和小数位数 |
日期和时间类型
| 类型 | 描述 | 取值范围 |
|---|---|---|
| date | 日期 | 1000-01-01 到 9999-12-31 |
| time | 时间 | '-838:59:59' 到 '838:59:59' |
| datetime | 日期和时间组合 | 1000-01-01 00:00:00 到 9999-12-31 23:59:59 |
| timestamp | 时间戳(自 1970 年以来的秒数) | 1970-01-01 00:00:01 UTC 到 2038-01-19 03:14:07 UTC |
| year | 年,四位或两位 | 1901 到 2155 / 70 到 69 (1970 到 2069) |
字符串类型
| 类型 | 描述 | 取值范围 |
|---|---|---|
| char | 定长字符串 | 0 到 255 字符【2^8 - 1】 |
| varchar | 变长字符串 |
0 到 65,535 字符【2^{16} - 1】 注:取决于行大小和字符串编码 |
| binary | 定长二进制 | 与 CHAR 类似,但存储二进制字节 |
| varbinary | 变长二进制 | 与 VARCHAR 类似,但存储二进制字节 |
| tinyblob | 微型BLOB | 0 到 255 字节【2^8 - 1】 |
| blob | 标准BLOB(大对象) | 0 到 65,535 字节【2^{16} - 1】 |
| mediumblob | 中等BLOB | 0 到 16,777,215 字节【2^{24} - 1】 |
| longblob | 大型 BLOB | 0 到 4,294,967,295 字节【2^{32} - 1】 |
| tinytext | 微型text | 0 到 255 字符【2^8 - 1】 |
| text | 标准text(文本字符串) | 0 到 65,535 字符【2^{16} - 1】 |
| mediumtext | 中等text | 0 到 16,777,215 字符【2^{24} - 1】 |
| longtext | 大型text(长文本) | 0 到 4,294,967,295 字符【2^{32} - 1】 |
| enum | 枚举类型(一个字符串对象) | 1 到 65,535 个枚举值 【2^{16} - 1】 |
| set | 集合类型(字符串对象,最多 64 个成员) | 0 到 64 个独特成员组合 |
浙公网安备 33010602011771号