一文带你了解MySQL的数据类型以及常见使用场景

前言

MySQL中有许多数据类型,其中用的最多的便是varchar,int等。但是使用过程中我们也会对其他数据类型的使用有疑问,今天就写一篇博客来介绍一下MySQL中的数据类型,及其使用场景。

数据类型分类

MySQL中的数据类型大致可以分为3大类:

  • 数值类型
  • 日期/时间类型
  • 字符串(字符)类型

当然还有一些比较特殊的数据类型,比如 ENUM 等。

数值类型

数值类型相信很多同学都跟我一样,数据量小的时候使用 int 类型,数据量大的时候使用 bigint 类型。
但是其实MySQL里面有多种数据类型,数据类型可以分为两种,整形与浮点型。

整数形:

类型大小范围用途
tinyint1 byte(-128,127)小整数值
smallint2 byte(-32768,32767)大整数值
mediumint3 byte(-8388608,8399607)大整数值
int(integer)4 byte(-2147483648~2147483647)大整数值
bigint8 byte(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)极大整数值

其实可以很明显的看出,TINYINT对应Java中的Byte类,SMALLINT对应Java中的Short类,INT对应Java中的Integer类,BIGINT对应Java中的Long类。

关于整形的数字,其实没啥好说的,使用场景差不多便是账号等字段,只需要注意其范围即可。

浮点型:

类型大小用途
float4 byte单精度浮点数
double8 byte双精度浮点数
decimal定点小数值

在阿里巴巴规范中,小数只能使用DECIMAL类型,因为FLOAT与DOUBLE类型会有数值不准确的问题,特别是在有关金钱等字段。

日期类型

主要的日期类型:date,datetime,timestamp,time

类型大小(byte)范围格式样例
year11901~2155YYYY2021
date31000-01-01~9999-12-31YYYY-MM-DD2021-05-30
time3‘-838:59:59’/‘838:59:59’MM-DD:SS23:30:00
timestamp41970-01-01 00:00:00UTC~2038……时间,根据时区不同而不同,结束时间为2147483647秒YYYYMMDDHHMMSS2021-05-30 12:30:12
datetime81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS2040-05-20 13:14:00

日期类型注意点

  1. time类型小时部分如此大的原因是因为其不止可以表示一天的时间(小于24小时),还可以是某个事件过去的时间,或者两个事件之间的时间间隔。
  2. timestamp与datetime显示格式相同,但是其合法范围不同,timestamp插入的时候会先转为UTC(时间统一时间),取出的时候在转成当地时区时间。
  3. MySQL允许不严格语法,任何标点符号都可以作为日期部分之间的分隔符。

字符串类型

数据类型用途
char定长字符串
varchar变长字符串
tinyblob不超过255个字符的二进制字符串
tinytext短文本字符串
blob二进制格式的长文本数据
text长文本数据
mediumblob二进制形式的中等长度文本数据
mediumtext中等长度文本数据
longblob二进制形式的极大文本数据
longtext极大文本数据

字符串类型注意点

  1. 根据阿里巴巴规范,若你已经确定某个字符串的长度范围,那么优先使用char,而不使用varchar
  2. 根据阿里巴巴规范,varchar比较适合在长度小于5000时候使用,而如果大于5000,那么比较适合使用text类型。

后记

MySQL中的常用数据类型就这么多,当然MySQL中还有很多其他的数据类型,留待以后补充。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LVS(Linux Virtual Server)是一种基于 Linux 系统的负载均衡集群技术,它主要用于将网络流量分发到多个服务器上,以提高系统的可靠性、可扩展性和性能。 LVS 集群一般包括四个组件:调度器(LVS 调度器)、前端服务器(负载均衡器)、后端服务器(真实服务器)和存储服务器(用于共享数据)。首先,调度器接收来自客户端的请求,然后根据配置的调度算法(如轮询、加权轮询、最小连接数等)将请求分发到多个前端服务器。前端服务器接收到请求后,通过相应的负载均衡算法将请求转发到后端的真实服务器上进行处理。在整个过程中,存储服务器用于存放共享的数据,以确保所有的真实服务器都能获取到相同的数据,并提供一致的服务。 LVS 集群的优点是能够提高网站的稳定性和可靠性,当某一台服务器出现故障时,调度器会自动将请求分发到其他可用的服务器上,从而保证服务的连续性。同时,LVS 集群还能够通过增加前端服务器和后端服务器的数量来提高系统的性能和吞吐量,以满足不断增长的用户需求。 在实际应用中,LVS 集群需要合理配置,包括选择合适的调度算法、调整每台服务器的权重、选择适当的硬件设备等。此外,还需要及时监控集群的运行状态,及时发现和解决故障,以确保整个系统的正常运行。 总的来说,LVS 负载均衡集群是一种强大而高效的集群技术,能够帮助企业提高系统的可靠性和性能,是现代互联网应用中不可或缺的重要组成部分。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值