财经报道独家:MySQL数据类型条记

admin/2020-05-10/ 分类:科技/阅读:

弁言

作为一个做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的字段数据类型。若是照样记不住,那就来这里翻一下就好了,也不用这里搜那里查了,看自己的这篇条记基本就够了。

Reference

[1] https://www.runoob.com/mysql/mysql-data-types.html
[2] https://blog.csdn.net/qq_30046617/article/details/93380630

,

Sunbet

Sunbet www.817603.com Sunbet(www.sunbet.red)是进入Sunbet的官方站点。Sunbet开放Sunbet会员开户网址、Sunbet代理开户、Sunbet手机版下载、Sunbet电脑客户端下载等业务。

TAG:
阅读:
广告 330*360
广告 330*360
Sunbet_进入申博sunbet官网
微信二维码扫一扫
关注微信公众号
新闻自媒体 Copyright © 2002-2019 Sunbet 版权所有
二维码
意见反馈 二维码