文章目录
数据类型
MySQL的数据类型大致分为5种,整数类型、浮点数类型、定点数类型、日期与时间类型、字符串类型、二进制类型
- 数值数据类型
整数类型包括TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT
浮点数类型包括FLOAT和DOUBLE
定点数类型包括DECIMAL - 日期和时间类型
YEAR,TIME,DATE,DATETIME,TIMESTAMP - 字符串类型
CHAR,VARCHAR,BINARY,VARBINARY,BLOB,TEXT,ENUM,SET - 二进制类型
BIT,BINARY,VARBINARY,TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB
1. 数值数据类型
整数类型
类型名称 | 说明 | 取值范围 | 存储需求 |
---|---|---|---|
TINYINT | 很小的整数 | -128〜127 | 1个字节,0 〜255 |
SMALLINT | 小的整数 | -32768〜32767 | 2个宇节,0〜65535 |
MEDIUMINT | 中等大小的整数 | -8388608〜8388607 | 3个字节,0〜16777215 |
INT (INTEGHR) | 普通大小的整数 | -2147483648〜2147483647 4个字节, 0〜4294967295 | |
BIGINT | 大整数 -9223372036854775808〜9223372036854775807 | 8个字节0〜18446744073709551615 |
TINYINT需要1个字节(8bit)存储,则无符号数最大值为28-1=255,有符号数最大值为27-1=127,(一位用来存储符号位)
小数类型
- MySQL使用浮点数和定点数表示小数
浮点类型有两种,单精度浮点数float,双精度浮点数double;定点数类型只有一种,decimal - 浮点类型和定点类型都可以用(M,D)来表示,M称为精度,表示总共的位数,D称为标度,表示小数的位数
浮点数类型取值范围M(1 ~ 255)和D(1 ~ 30),DECIMAL默认D值是0,M值是10
类型名称 | 说明 | 存储需求 |
---|---|---|
FLOAT | 单精度浮点数 | 4 个字节 |
DOUBLE | 双精度浮点数 | 8 个字节 |
DECIMAL (M, D),DEC | 压缩的“严格”定点数 | M+2 个字节 |