Mysql数据类型

详细介绍MySQL中的各种数据类型,包括数值类型、字符串类型以及日期时间类型的特点、存储大小和使用范围

  • 数据类型

MySQL 数值类型

分类类型大小有符号(SIGNED)范围无符号(UNSIGNED)范围描述
数值类型TINYINT1 byte(-128, 127)(0, 255)小整数值
数值类型SMALLINT2 bytes(-32768, 32767)(0, 65535)大整数值
数值类型MEDIUMINT3 bytes(-8388608, 8388607)(0, 16777215)大整数值
数值类型INT/INTEGER4 bytes(-2147483648, 2147483647)(0, 4294967295)大整数值
数值类型BIGINT8 bytes(-2^63, 2^63-1)(0, 2^64-1)极大整数值
数值类型FLOAT4 bytes约(-3.4E+38, 3.4E+38)约(0, 3.4E+38)单精度浮点数
数值类型DOUBLE8 bytes约(-1.8E+308, 1.8E+308)约(0, 1.8E+308)双精度浮点数
数值类型DECIMAL可变取决于M(精度)和D(标度)取决于精度和标度精确小数

MySQL 字符串类型

分类类型大小描述
字符串类型CHAR0-255 bytes定长字符串
字符串类型VARCHAR0-65535 bytes变长字符串
字符串类型TINYBLOB0-255 bytes不超过255个字符的二进制数据
字符串类型TINYTEXT0-255 bytes短文本字符串
字符串类型BLOB0-65535 bytes二进制形式的长文本数据
字符串类型TEXT0-65535 bytes长文本数据
字符串类型MEDIUMBLOB0-16,777,215 bytes二进制形式的中等长度文本数据
字符串类型MEDIUMTEXT0-16,777,215 bytes中等长度文本数据
字符串类型LONGBLOB0-4,294,967,295 bytes二进制形式的极大文本数据
字符串类型LONGTEXT0-4,294,967,295 bytes极大文本数据

MySQL 日期和时间类型

分类类型大小(字节)范围格式描述
日期类型DATE31000-01-01 至 9999-12-31YYYY-MM-DD纯日期值
日期类型TIME3-838:59:59 至 838:59:59HH:MM:SS时间值或持续时间
日期类型YEAR11901 至 2155YYYY年份值
日期类型DATETIME81000-01-01 00:00:00 至 9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
日期类型TIMESTAMP41970-01-01 00:00:01 至 2038-01-19 03:14:07YYYY-MM-DD HH:MM:SS时间戳(自动时区转换)