MySQL 数据类型介绍

本文介绍 MySQL 数据类型,包括数据类型名称、占用字节大小、存储范围、一般用途。

一、数值类型


类型 大小 范围(有符号) 范围(无符号) 用途
bit 1 字节 (1, 64) (1, 64) 位字段类型数值
tinyint 1 字节 (-128, 127) (0, 255) 小整数值
smallint 2 字节 (-32 768, 32 767) (0, 65 535) 大整数值
mediumint 3 字节 (-8 388 608, 8 388 607) (0, 16 777 215) 大整数值
int / integer 4 字节 (-2 147 483 648, 2 147 483 647) (0, 4 294 967 295) 大整数值
bigint 8 字节 (-9 233 372 036 854 775 808, 9 223 372 036 854 775 807) (0, 18 446 744 073 709 551 615) 极大整数值
float 4 字节 (-3.402 823 466 E+38, 1.175 494 351 E-38), 0, (1.175 494 351 E-38, 3.402 823 466 351 E+38) 0, (1.175 494 351 E-38, 3.402 823 466 E+38) 单精度浮点数值
double (real 同义词) 8 字节 (1.797 693 134 862 315 7 E+308, 2.225 073 858 507 201 4 E-308), 0, (2.225 073 858 507 201 4 E-308, 1.797 693 134 862 315 7 E+308) 0, (2.225 073 858 507 201 4 E-308, 1.797 693 134 862 315 7 E+308) 双精度浮点数值
decimal (numeric 同义词) DECIMAL(M,D), 取决于 M 与 D 的值 范围等同 M 值 <= 65,D 值 <= 30,M 值必须 >= D 值,M 是小数位数(精度)的总数,D 是小数点(标度)后面的位数 65 位精度计算数值

二、字符串类型


类型 大小 用途
char 0-255 字节 定长字符串
varchar 0-255 字节 变长字符串
tinyblob 0-255 字节 不超过 255 个字符的二进制字符串
tinytext 0-255 字节 短文本字符串
blob 0-65 535 字节 二进制形式的长文本数据
text 0-65 535 字节 长文本数据
mediumblob 0-16 777 215 字节 二进制形式的中等长度文本数据
mediumtext 0-16 777 215 字节 中等长度文本数据
longblob 0-4 294 967 295 字节 二进制形式的极大文本数据
longtext 0-4 294 967 295 字节 极大文本数据
binary 0-255 字节 定长二进制字符串
varbinary 0-255 字节 变长二进制字符串

三、日期和时间类型


类型 大小 范围 格式 用途
date 3 字节 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
time 3 字节 ‘-838:59:59’/‘838:59:59’ HH : MM : SS 时间值或持续时间
year 1 字节 1901/2155 YYYY 年份值
datetime 8 字节 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD  HH : MM : SS 混合日期和时间值
timestamp 8 字节 1970-01-01 00:00:00/2037 年某时 YYYY-MM-DD  HH : MM : SS 混合日期和时间值,时间戳

四、复合类型


类型 大小 范围 格式 用途
enum 1 或 2 字节 65535 个成员 枚举 列可赋予某个枚举成员
set 1、2、3、4 或 8 字节 64 个成员 集合 列可赋予多个集合成员

(完)