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类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值