MySql常用数据类型简介

MySql常用数据类型简介

一、数据类型分类

  • 可以分为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

二、整数类型

类型名称存储长度取值范围
TINYINT1个字节0~255 或者 -127~128 (3)
SMALLINT2个字节0~65535 或者-32768~32767 (5)
MEDIUMINT3个字节0~16777215 (9) 或者 -8388608~8388607 (8)
INT4个字节0~4294967295 或者 -2147483648~2147483647 (10)
BIGINT8个字节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。

四、日期和时间类型

类型名称格式范围存储长度
YEARYYYY1901~21551个字节
TIMEHH:MM:SS-838:59:59~838:59:593个字节
DATEYYYY-MM-DD1000-01-01~9999-12-313个字节
DATETIMEYYYY-MM-DD HH:MM:SS1000-01-01 00:00:00~9999-12-31 23:59:598个字节
TIMESTAMPYYYY-MM-DD HH:MM:SS1970-01-01 00:00:00 ~2038-01-19 03:14:07UTC4个字节

* DATETIME和TIMESTAMP的区别一个是存储的时间范围不一样,一个是TIMESTAMP还存储了时区信息,取得是==当地的标准时间==。例如在中国的时间和在美国显示的时间就不一样。

五、字符串类型

类型名称存储长度
CHAR(M)M取值0~255字节
VARCHAR(M)M取值0~65536字节
LONGTEXT0~4294967295字节
ENUM1或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. 浮点数类型和定点数类型
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值