MySQL数据类型
mysql数据库中的数据类型
数据类型:是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。
有符号位:二进制最高位,为0表示数字正数,为1表示数字负数。
无符号位:数字不存在负数的情况,都是正数。
一、整型
| 数据类型 | 存储范围 | 字节 |
| tinyint |
有符号:-128~127(-27~27-1) 无符号:0~255(0~28-1) |
1 |
| smallint |
有符号:-32768~32767(-215~215-1) 无符号:0~65535(0~216-1) |
2 |
| mediumint |
有符号:-8388608~8388607(-223~223-1) 无符号:0~16777215(0~224-1) |
3 |
| int |
有符号:-2147483648~2147483647(-231~231-1) 无符号:0~4294967295(0~232-1) |
4 |
| bigint |
有符号:-9223372036854775808~9223372036854775807(-263~263-1) 无符号:0~18446744073709551615(0~264-1) |
8 |
二、浮点数
float和double都可以float(m,d)和double(m,d),或者不加(m,d),m表示数字的有效位数,d表示数字的小数位数
| 数据类型 | 存储范围 | 字节 |
| float(单精度) | -3.40282346E+38~3.40282346E+38,精确到小数点后面8位小数 | 4 |
| double(双精度) | -1.7976931348623157E+308~1.7976931348623157E+308,精确到小数点后面16位小数 | 8 |
三、小数
decimal(m,d)依赖m和d,m表示数字的有效位数,d表示数字的小数位数,和double相比,decimal精度更高,范围更小。
| 数据类型 | 存储范围 |
| decimal | 依赖m和d值 |
四、日期时间
| 数据类型 | 存储范围 | 字节 |
| year | 1901/2155 | 1 |
| time | '-838:59:59'/'838:59:59' | 3 |
| date | 1000-01-01/9999-12-31 | 3 |
| datetime | 1000-01-01 00:00:00/9999-12-31 23:59:59 | 8 |
| timestamp |
1970-01-01 00:00:00/2038结束时间是第 2147483647 秒,北京时间2038-1-19 11:14:07, 格林尼治时间2038年1月19日凌晨03:14:07 |
4 |
五、字符
| 数据类型 | 规则 |
| char(m) | 定长字符串。m个字节,0<=m<=255。m为几,字符就多长,不够的会以空格补充。 |
| varchar(m) | 变长字符串。m个字节,0<=m<=65535。字符实际多长就是多长,不以m为标准。 |
| tinytext | 短文本字数据。0~255个字节。 |
| text | 长文本数据。0~65535个字节。 |
| mediumtext | 中等长度文本字数据。0~16777215个字节。 |
| longtext | 极大文本数据。0~4294967295个字节。 |
| tinyblob | 二进制形式的短文本数据。0~255个字节。 |
| blob | 二进制形式的长文本数据。0~65535个字节。 |
| mediumblob | 二进制形式的中等长度文本字数据。0~16777215个字节。 |
| longblob | 二进制形式的极大文本数据。0~4294967295个字节。 |
| enum | 枚举类型。enum(value1,value2,...),一个或两个字节,取决于枚举值得数量,最多65535个值,值只能是枚举中的一个值 |
| set | set(value1,value2,value3,...),最多64个值,set中的取值可以是所列出的n个值任意排列组合而成 |
浙公网安备 33010602011771号