MySQL数据类型的说明

一、数据类型

MySQL的数据类型有大概可以分为5种,分别是 整数类型、浮点数类型和定点数类型、日期和时间类型、字符串类型、二进制类型。
  注意:整数类型和浮点数类型可以统称为数值数据类型

数值数据类型
  整数类型:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT
  浮点数类型:FLOAT、DOUBLE
  定点小数:DECIMAL
日期/时间类型
  YEAR、TIME、DATE、DATETIME、TIMESTAMP
字符串类型
  CHAR、VARCHAR、TEXT、ENUM、SET
二进制类型
  BIT、BINARY、VARBINARY、BLOB

1.整数类型

在这里插入图片描述
  1个字节= 8位二进制数

2.浮点数和定点数类型

在这里插入图片描述解释M,D的意思:
  M:数值的总位数。 通俗点讲,就是看有多少个数字,比如,5.6789,M就是5
  D:小数点后面能保留几位。 比如上面的5.6789 ,D就是4。 这只是举一个例子,来说明M,D是什么,实际是先有M,D的,然后在来控制数值,而不是更具数值来确定M,D。

3.日期和时间类型

在这里插入图片描述

4.字符串类型

CHAR、CARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET
在这里插入图片描述

5.二进制类型

在这里插入图片描述

二、如何选择数据类型

1、整数和浮点数
  如果不需要小数部分,则使用整数来保存数据,并且根据整数的大小,来选择合适的整数类型,如果需要小数部分,则使用浮点数类型,浮点数类型中,有float和double,如果需要精度高一点,则选择double。
  
2、浮点数和定点数
  浮点数FLOAT、DOUBLE相对应定点数DECIMAL的优势在于:在长度一定的情况下,浮点数能表示更大的数据范围,但是浮点数容易产生误差,因此在精度比较高时,建议使用DECIMAL,比如货币这一类东西,就用DECIMAL比较合理,注意浮点数在进行加减运算时也容易出现问题。如果进行数值比较,也建议用DECIMAL。
  
3、日期与时间类型
  可以看上面详解时的图,根据各种格式,选择自己所需要的数据类型,注意TIMESTAMP和DATETIME的区别,一个是跟时区有关,一个无关,其他没什么大的区别。
  
4、CHAR与VARCHAR之间的特点与选择
 区别:
  CHAR是固定长度字符、VARCHAR是可变长度字符。CHAR会自动删除插入数据的尾部空格,VARCHAR不会。
  CHAR是固定长度,处理速度比VARCHAR更快,缺点很明显,浪费存储空间,所以对存储不大,但在速度上有要求的可以使用CHAR类型,反之用VARCHAR。
  
5、ENUM和SET
  ENUM只能取单值,也就是从枚举类型中选取其中一个值,但是SET可以取多值,
  ENUM最多能存放65535个成员,SET只能65个
  空字符串也能在SET中存储,
  要存储一个人的喜爱时,最好使用SET类型,其实最重要的是看具体的情况在选取最为合适的。
  
6、BLOB和TEXT
  BLOB是二进制字符串,TEXT是非二进制字符串,两者均可存放大容量的信息,BLOB主要存储图片、音频信息,而TEXT只能存储纯文本文件。分清楚两者的用途。

7、BINARY和VARBINARY
  这两个的区别和CHAR与VARCHAR的区别差不多,BINARY是固定长度、VARBINARY是可变程度,这两个的作用就是为了区分大小写的,注意这两个是字节字符串。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值