Mysql的数据类型大致可分为4大类:数值、文本、二进制、时间
分类 | 数据类型 | 说明 |
---|---|---|
数值 | BIT | 位类型,1~64 |
TINYINT(1个字节) | 带符号是-2^6~2^6-1,无符号是0~2^7-1 | |
SMALLINT(2个字节) | 带符号是-2^15~2^15-1,无符号是0~2^16-1 | |
MEDIUMINT(3个字节) | 带符号是-2^23~2^23-1,无符号是0~2^24-1 | |
INT(4个字节) | 带符号是-2^31~2^31-1,无符号是0~2^32-1 | |
BIGINT(8个字节) | 带符号是-2^63~2^63-1,无符号是0~2^64-1 | |
FLOAT | 占用4个字节 | |
DOUBLE | 占用8个字节,精度更好 | |
DECIMAL(M,D) | 常用于存储精确的小数,M是总位数,D是小数点后的位数 | |
文本 | CHAR | 固定长度字符串,0~255,默认为1,有多少字符就占多少字节 |
VARCHAR | 可变长度字符串,可指定最大长度,不能超过2^16-1,占用的字节为实际字符+1 | |
TEXT | 不能有默认值,不能超过2^16,占用的字节为实际字符+2 | |
LONGTEXT | 不能有默认值,不能超过2^32,占用的字节为实际字符+4 | |
二进制 | BLOB | 0~2^16-1 |
LONGBLOB | 0~2^32-1 | |
时间 | DATE | 年月日 |
TIME | 时分秒 | |
DATETIME | 年月日时分秒 | |
TIMESTAMP | 时间戳 |