版权声明:此账号的博客均为原创,侵权必究! https://blog.csdn.net/qq_37084904/article/details/82928076
MySql数据类型分为数值类型;日期与时间类型;字符串类型以及二进制类型等等,分四节讨论;
一、数值类型(整数类型、浮点数类型、定点数类型):
1.整数类型:
整数类型 | 字节数(1字节=8位) | 无符号范围 | 有符号范围(默认) |
TINYINT | 1(微短型) | 0~255 (2^8) |
-128~127 |
SMALLINT | 2(短整型) | 0~65535 (2^16) |
-32768~32767 (-2^15~2^15-1) |
MEDIUMINT | 3(中整型) | 0~16777215 (2^24) |
(-2^23~2^23-1) |
INT、INTEGER | 4(长整型) | 0~2^32 | -2^31~2^31-1 |
BIGINT | 8(大整型) | 0~2^64 | -2^63~2^63-1 |
2.浮点数类型和定点数类型:
类型 | 字节数 | 无符号范围 | 有符号范围(默认) |
FLOAT | 4 | 0~2^32 | -2^31~2^31-1 |
DOUBLE | 8 | 0~2^64 | -2^63~2^63-1 |
DECIMAL(M,D) 定点数类型 |
M+2 | 0~2^64 | -2^63~2^63-1 |
M表示:数据的总长度(不包括小数点);
D表示:小数位;
例如: decimal(5,2) 325.64
存入数据的时候,按四舍五入计算
二、日期与时间类型:
类型 | 字节数 | 取值范围 | 零值 |
YEAR | 1 | 1910~2155 | 0000(年) |
DATE(存日期) | 4 | 1000-01-01~9999-12-31 | 0000:00:00(年-月-日) |
TIME(存时间) | 3 | -838:59:59~838:59:59 | 00:00:00(时:分:秒) |
DATETIME (存日期时间) |
8 | 1000-01-01 00:00:00 ~9999-12-31 23:59:59 |
0000-00-00 00:00:00 (年-月-日 时:分:秒) |
TIMESTAMP | 4 | 19700101080001 ~20380119111407 |
00000000000000 (年月日时分秒) |
三、字符串类型
类型 | 说明 |
CHAR(n) | 长度为n的固定长度字符串 |
VARCHAR(n) | 最大长度为n的可变长度字符串 |
TEXT | 大文本(TINYTEXT,TEXT,MEDIUMTEXT,LONGTEXT) (一般用来存储新闻、长文章等大容量信息) |
ENUM | 枚举类型(只能取一个元素) |
SET | 集合类型(能取多个元素) |
四、二进制类型(一般用来存储图片和视频文件)
类型 | 说明 |
BINARY(M) | 字节数为M,允许长度为0~M的定长二进制字符串 |
VARBINARY(M) | 允许长度为0~M的边长二进制字符串,字节数为值的长度+1 |
BIT(M) | M位二进制数据,最多255个字节 |
TINYBLOB | 可变长二进制数据,最多255个字节 |
BLOB(常用) | 可变长二进制数据,最多(2^16-1)个字节 |
MEDIUMBLOB | 可变长二进制数据,最多(2^24-1)个字节 |
LONGBLOB | 可变长二进制数据,最多(2^32-1)个字节 |