引言

作为一个做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类型

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

来源:https://www.cnblogs.com/kuangdw/p/12860068.html?utm_source=tuicool&utm_medium=referral

datetime对应的java类型_MySQL数据类型笔记相关推荐

  1. mysql long类型_MySQL数据类型笔记

    引言 作为一个做Java后端的开发者,无论是在自己平时项目学习实战还是工作中的真实项目,都离不开和数据库打交道.而MySQL作为当今最流行的关系型数据库之一,也成为了我们必须掌握的一门技术.最近在工作 ...

  2. mysql tinyint对应java什么类型_MySQL数据类型与Java数据类型

    MySQL 中常见的数据类型:tinyint,int,bigint 整数类型 float,double,decimal 浮点类型 date,dateTime,time,timestamp 时间类型 c ...

  3. mysql 数据表创建字段类型_MySQL 数据类型简介 创建数据表及其字段约束

    数据类型介绍 MySQL 数据类型分类 整型 浮点型 字符类型(char与varchar) 日期类型 枚举与集合 具体数据类型见这篇博客 MySQL表操作中的约束 primary key 主键约束 非 ...

  4. 定义blob类型_MySQL 数据类型

    MySQL 支持的数据类型很多,选用正确的数据类型至关重要.下面介绍常用的数据类型以及相应的优缺点. 一 整数类型 以上数据类型有可选的unsigned 属性,表示不允许出现负值,但可以使上限提高一倍 ...

  5. mysql 类型_MySQL 数据类型有哪些?

    学会自定义表中每一个字段(列)的数据类型,对学习SQL数据库以及性能调优有着很大的帮助! 数据类型是啥?它可以用来表示某个 字段(列) 的数据内容格式是数字(例123)还是字符(例"一二三& ...

  6. mysql 优化 类型_MySQL数据类型的优化选择

    整数类型: Tinyint-8 Smallint-16 Mediumint-24 Int-32 Bigint-64 实数类型(带有小数部分的数字) Float-4/double-8:浮点 Decima ...

  7. mysql 小类型_mysql 数据类型

    1.整数类型 tinyint   1个字节 smallint 2个字节 mediumint 3个字节 int  4个字节 bigint 8个字节 2.浮点数类型.定点数类型 float 4个字节 do ...

  8. mysql日期对应java类型_Mysql与Java日期类型

    java中的日期类型 java.util.Date java.util.Calendar java.sql.Date java.sql.Time java.sql.Timestamp 注:后三种都继承 ...

  9. mysql 负数类型_MySQL数据类型详解

    MySQL数据类型,可以被分为3类:数值类型.日期和时间类型以及字符串(字符)类型 方括号("["和"]")指出可选的类型修饰符的部分 M 指出最大的显示尺寸. ...

最新文章

  1. 操作方法:带有Thymeleaf和Spring Boot的Java 8日期和时间
  2. java 队列和堆栈_Java中的堆栈和队列
  3. java linkedlist实例_Java Linkedlist原理及实例详解
  4. spring boot 入门_玩转springboot2.x之快速入门开山篇
  5. coreboot学习7:ramstage阶段之设备枚举流程
  6. python打开指定路径的excel_python使用相对定位,绝对定位,选取同级别文件下的指定文件(csv,excel)...
  7. 编写高质量javascript代码的基本要点
  8. 调用天气接口获取天气预报
  9. SmartBear继SoapUI Pro 5 2之后推出新版本改名SoapUI NG Pro
  10. 学习OpenCV——SVM 手写数字检测
  11. Ubuntu20.04安装有道云词典
  12. AD软件解决 Unknown Pin 和Failed to add class member 问题
  13. 没有对公账户怎么开通认证微信公众号?
  14. iOS获取设备ID总结
  15. 计算机表演赛分赛区决赛,国际儿童节计算机表演赛 天津分赛区决赛开始
  16. 2019pro与air怎么选_新款 MacBook Air 和入门级 MacBook Pro 如何选?看完这篇就知道了...
  17. jaeger,zipkin,datadog,skywalking等分布式追踪工具
  18. 华为ENSP实验--基础
  19. Python 三维网格体素化
  20. Android 手势小试牛刀

热门文章

  1. 如何将 winston log 库记录的日志写入 mongo DB 数据库
  2. RouterModule.forRoot() called twice
  3. SAP CRM Fiori 应用的 offline 离线支持开发笔记
  4. SAP OData服务性能测量的四种办法
  5. Tomcat服务器java.lang.IllegalArgumentException异常
  6. SAP ABAP XSLT extract custom style
  7. ABAP report的递归submit和在虚拟机里再次启动另一个虚拟机
  8. How to suppress email sending when operating on Activity
  9. 源于 Node.js的HTML 模板引擎Jade的一个hello world项目
  10. hybris backoffice 产品属性和sample data的对应关系