MySQL各数据类型的特点

MySQL各数据类型的特点

常用的整数类型

在这里插入图片描述

常见误区
int(n) 是设置数据最大的显示宽度,所占的存储空间不会改变。

常用的浮点类型

在这里插入图片描述

123456789.987654321 = decimal(18,9)占用9个字节
在这里插入图片描述

涉及财务等需要精确计算的数据使用decimal类型存储,但同时也会有更大的开销。

常用的时间类型

在这里插入图片描述

当我们想存储年份时,也可以使用int来存储,但smallint占2字节比year类型大

tiemstamp为啥只到2038

对于timestamp,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。底层表示是时间戳。什么是时间戳?
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至某一时间点的总秒数。
例如北京时间2018-12-08 00:00:00的时间戳是1544198400,就是指从北京时间1970-01-01 08:00:00到2018-12-08 00:00:00已经过去了1544198400秒。
所有如果想要存储的时间大于2038-01-19 03:14:07 UTC 要使用datetime存储
tiemstamp的优点是设置不同时区下,显示的数据是不一样的,原因就是它的计算原理,上面已经解释了。

常用字符串类型

在这里插入图片描述

  1. char长度固定, 即每条数据占用等长字节空间;适合用在身份证号码、手机号码等。
  2. varchar可变长度,可以设置最大长度;适合用在长度可变的属性。
  3. text不设置长度, 当不知道属性的最大长度时,适合用text。

如何为数据选择合适的数据类型

  • 优先选择符合存储数据需求的最小数据类型
    如:使用INET_ATON函数将IP地址转化为整型,优化了存储空间
  • 谨慎使用enum,text字符串类型
  • 同财务相关的数值型类型,必须使用decimal类型

猜你喜欢

转载自blog.csdn.net/weixin_42812754/article/details/105955508
今日推荐