MySQL数据类型讲解和Java中所对应的数据类型讲解
转载自:https://blog.csdn.net/weixin_45821811/article/details/115893395
Mysql数据类型分类
在Mysql中常用数据类型一共有四种字符串数据类型、日期/时间数据类型、数值数据类型以及二进制数据类型。
一、字符串数据类型:
主要包括下列几种数据类型:char,varchar,tinytext,mediumtext,text,longtext,enum,set。
字体加粗的是比较常用的(下同)。
mysql类型名 | 大小 | 用途 | 对应Java类 |
---|---|---|---|
char | 0-255 bytes | 定长字符串(姓名、性别、学号) | String |
varchar | 0-65535 bytes | 变长字符串(比上面更长一点的那种) | String |
tinytext | 0-255 bytes | 比较短的那种文本数据(新闻速报的那种) | String |
text | 0-65535 bytes | 文本数据 | String |
mediumtext | 0-16777215 bytes | 加长长文本数据 | String |
longtext | 0-4294967295 bytes | 极大文本数据(论文) | String |
二、日期/时间数据类型:
主要包含下列几种数据类型:date,time,datetime,timestamp,year。
这个时间的对应的Java类、只要格式正确、都是可以取的,主要看需求是什么。
不管你后端是String、Date 类型、只要格式是对应的就是可以的。
mysql类型名 | 用途 |
---|---|
date | YYYY-MM-DD格式的日期值 |
time | hh:mm:ss格式的时间值 |
datetime | YYYY-MM-DD hh:mm:ss格式的日期和时间值 |
timestamp | YYYY-MM-DD hh:mm:ss格式的时间戳记值 |
year | YYYY或YY格式的年值 |
三、数值数据类型:
主要包含下列几种数据类型:tinyint,smallint,mediumint,int,bigint,float,double,decimal。
mysql类型名 | 大小 | 用途 | 对应Java类 |
---|---|---|---|
tinyint | 1 byte | 一个很小很小的整数 | Integer/Boolean |
smallint | 2 bytes | 一个小整数 | Integer |
mediumint | 3 bytes | 一个中等大小的整数 | Integer |
int | 4 bytes | 一个int大小的整数 (大都用来做id) | Integer |
bigint | 8 bytes | 一个蛮大的整数(也常用来做id) | Long |
float | 4 bytes | 允许有误差的、单精度浮点数 | Float |
double | 8 bytes | 允许有误差的、双精度浮点数 | Double |
decimal | 依赖于M(精度)与D(标度)的值 | 不允许误差的、计算工资、盈利、金融方面 | BigDecimal |
四、二进制数据类型:
主要包含下列几种数据类型:tityblob,blob,mediumblob,longblob。
mysql类型名 | 大小 | 描述 | 对应Java类 |
---|---|---|---|
tityblob | 0-255 bytes | 不超过 255 个字符的二进制字符串 | Byte[] |
blob | 0-65535 bytes | 二进制形式的长文本数据 | Byte[] |
mediumblob | 0-16777215 bytes | 二进制形式的加长文本数据 | Byte[] |
longblob | 0-4294967295 bytes | 二进制形式的极大文本数据 | Byte[] |