MySql常用数据类型简介

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)。它们的区别仅仅是存储的大小不同。

  • 这个会常常用来存储图片,音频信息



  1. 浮点数类型和定点数类型 ↩

你可能感兴趣的:(MySql)