mysql怎么接收数据类型_MySQL数据类型笔记

引言

作为一个做Java后端的开发者,无论是在自己平时项目学习实战还是工作中的真实项目,都离不开和数据库打交道。而MySQL作为当今最流行的关系型数据库之一,也成为了我们必须掌握的一门技术。最近在工作项目中碰到过好几次MySQL数据类型相关问题,比如字段类型大小越界啦,字段类型长度不够啦pilipala......,所以今天抽空好好做个笔记总结一下。在这里呢只总结MySQL的数据类型的基本知识,不会牵扯到索引或存储引擎之类的知识(因为索引和存储引擎的知识足够写一本很厚很厚的书了)。

数值类型

其中对应于java中的类型都是基于mybatis生成对应的,实际上有符号和无符号对应于java中类型可能是不一样的。

TINYINT:大小(1byte),范围(有符号为-128到127,无符号为0到255),用于小整数值,对应于java中的Byte类型;

SMALLINT:大小(2byte),范围(有符号为-32768到32767,无符号为0到65535),用于大整数值,对应于java中的Short类型;

MEDIUMINT:大小(3byte),范围(有符号为-8388608到8388607,无符号为0到65535),用于大整数值,对应于java中的Integer类型

INT或INTEGER:大小(4byte),范围(有符号为-2147483648到2147483647,无符号为0到4294967295),用于大整数值,也对应于java中的Integer类型

BIGINT:大小(8字节),范围(有符号为-9223372036854775808到9223372036854775807,无符号为0到18446744073709551615),用于极大整数值,对应于java中的Long类型

FLOAT:大小(4字节),范围(有符号为-3.402 823 466 E+38到-1.175 494 351 E-38),0,(1.175 494 351 E-38到3.402 823 466 351 E+38,无符号为0~18446744073709551615),用于单精度浮点值,对应于java中的Float类型

DOUBLE:大小(8字节),范围((-1.797 693 134 862 315 7 E+308 到-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308 到 1.797 693 134 862 315 7 E+308)),用于双精度浮点值,对应于java中的Double类型;

DECIMAL:大小(对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2),范围(依赖于M和D的值),用于小数值,尤其用于金融相关,对应于java中的Long类型;

日期和时间类型

mybatis生成时都对应到java中的Date类型

DATE:大小(3byte),范围(1000-01-01到9999-12-31),格式(YYYY-MM-DD),用于日期值;

TIME:大小(3byte),范围(-838:59:59到838:59:59),格式(HH:MM:SS),用于连续时间;

TIMESTAMP:大小(4byte),范围(1970-01-01 00:00:00/2038,结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07),格式(YYYY-MM-DD HH:MM:SS),用于混合日期和时间值

DATETIME:大小(8byte),范围(1000-01-01 00:00:00到9999-12-31 23:59:59),格式(YYYY-MM-DD HH:MM:SS),也用于混合日期+时间值

字符串类型

CHAR(n):大小(0~255 byte,注意定义时指定的n为字符数,而不是字节数),用于定长字符串;

VARCHAR(n):大小(0~65535 byte,n也是指的字符数),用于变长字符串;

TINYBLOB:大小(0~255 byte),用于不超过 255 个字符的二进制字符串;

BLOB:大小(0~65535 bytes),用于二进制形式的长文本数据;

MEDIUMBLOB:大小(0~16777215 bytes),用于二进制形式的中等长度文本数据;

LONGBLOB:大小(0~4294967295 bytes),用于二进制形式的极大文本数据;

TINYTEXT:大小(0~255 bytes),用于短文本字符串;

TEXT:大小(0-65 535 bytes),用于长文本数据

MEDIUMTEXT:大小(0~16777215 bytes),用于中等长度文本字数据;

LONGTEXT:(0~4294967295 bytes),用于极大文本数据(足够足够大了,再长的文本数据也基本上够你用了);

对了,还有一个BIT布尔类型,对应于java中的Boolean类型

1056dd5bad3098816adcb60c7db779d8.png

总之吧,好记性不如烂笔头嘛,做个笔记和总结,让自己以后创建数据表的时候或者添加字段的时候能够正确的选择MySQL的字段数据类型。如果还是记不住,那就来这里翻一下就好了,也不用这里搜那里查了,看自己的这篇笔记基本就够了。

Reference

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值