MySql常用数据类型简介
MySql常用数据类型简介
一、数据类型分类
二、整数类型
三、小数类型
1.浮点数
2.定点数
四、日期和时间类型
五、字符串类型
六、二进制类型
1.BLOB
一、数据类型分类
可以分为5类:整数类型、小数类型1、日期和时间类型、字符串类型、二进制类型
类别
关键字
整数类型
TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT
小数类型
FLOAT、DOUBLE / DECIMAL
日期和时间类型
YEAR、TIME、DATE、DATETIME、TIMESTAMP
字符串类型
CHAR、VARCHAR、TEXT、ENUM、SET、LONGTEXT等
二进制类型
BIT、BINARY、VARBINARY、BLOB
二、整数类型
类型名称
存储长度
取值范围
TINYINT
1个字节
0~255 或者 -127~128 (3)
SMALLINT
2个字节
0~65535 或者-32768~32767 (5)
MEDIUMINT
3个字节
0~16777215 (9) 或者 -8388608~8388607 (8)
INT
4个字节
0~4294967295 或者 -2147483648~2147483647 (10)
BIGINT
8个字节
0~18446744073709551615 (20) 或者 -9223372036854775808~9223372036854775807 (19)
* 取值范围是包括无符号数和有符号数。 括号中的数字是可选的MySql显示位数范围。例如创建一个表一个字段的数据类型为TINYINT,则可以
create table man(age TINYINT(3) NOT NULL);
三、小数类型
1.浮点数
类型名称
存储长度
FLOAT(M,D)
4个字节
DOUBLE(M,D)
8个字节
2.定点数
类型名称
存储长度
DECIMAL(M,D)
M + 2个字节
* M是总位数,D是保留的小数位数。例如FLOAT(5,2),就是最多3位整数,2位小数。
* 对精度要求很高的,例如金融上的数据,建议使用Decimal。
四、日期和时间类型
类型名称
格式
范围
存储长度
YEAR
YYYY
1901~2155
1个字节
TIME
HH:MM:SS
-838:59:59~838:59:59
3个字节
DATE
YYYY-MM-DD
1000-01-01~9999-12-31
3个字节
DATETIME
YYYY-MM-DD HH:MM:SS
1000-01-01 00:00:00~9999-12-31 23:59:59
8个字节
TIMESTAMP
YYYY-MM-DD HH:MM:SS
1970-01-01 00:00:00 ~2038-01-19 03:14:07UTC
4个字节
* DATETIME和TIMESTAMP的区别一个是存储的时间范围不一样,一个是TIMESTAMP还存储了时区信息,取得是==当地的标准时间==。例如在中国的时间和在美国显示的时间就不一样。
五、字符串类型
类型名称
存储长度
CHAR(M)
M取值0~255字节
VARCHAR(M)
M取值0~65536字节
LONGTEXT
0~4294967295字节
ENUM
1或2个字节,最大值65535
* 这里列举了使用稍微多的字符串类型。MySql还有许多字符串类型就不一一介绍。需要说明的是,MySql5.0以上版本的数据库,GBK编码的2个字节存储一个汉字,UTF-8是3个字节存储一个汉字。
* CHAR是固定长度,而VARCHAR不是。因此CHAR的处理效率大于VARCHAR,但是会造成空间浪费。
六、二进制类型
1.BLOB
这里只说BLOB,它是一个类型系列,包括:TinyBlob(32kb)、Blob(64kb)、MediumBlob(16M)、LongBlob(4GB)。它们的区别仅仅是存储的大小不同。
这个会常常用来存储图片,音频信息
浮点数类型和定点数类型 ↩