MySQL数据类型
-
数字类型
-
整数: tinyint、smallint、mediumint、int、bigint
-
浮点数: float、double、real、decimal
-
日期和时间: date、time、datetime、timestamp、year
-
字符串类型
-
字符串: char、varchar
-
文本: tinytext、text、mediumtext、longtext
-
二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob
数字类型
整型
type |
Storage |
Minumun Value |
Maximum Value |
(Bytes) |
(Signed/Unsigned) |
(Signed/Unsigned) |
|
TINYINT |
1 |
-128 |
127 |
0 |
255 |
||
SMALLINT |
2 |
-32768 |
32767 |
0 |
65535 |
||
MEDIUMINT |
3 |
-8388608 |
8388607 |
0 |
16777215 |
||
INT |
4 |
-2147483648 |
2147483647 |
0 |
4294967295 |
||
BIGINT |
8 |
-9223372036854775808 |
9223372036854775807 |
0 |
18446744073709551615 |
浮点型
属性 |
存储空间 |
精度 |
精确性 |
说明 |
FLOAT(M, D) |
4 bytes |
单精度 |
非精确 |
单精度浮点型,m总个数,d小数位 |
DOUBLE(M, D) |
8 bytes |
双精度 |
比Float精度高 |
双精度浮点型,m总个数,d小数位 |
-
FLOAT容易造成精度丢失
定点数DECIMAL
-
高精度的数据类型,常用来存储交易相关的数据
-
DECIMAL(M,N).M代表总精度,N代表小数点右侧的位数(标度)
-
1 < M < 254, 0 < N < 60;
-
存储空间变长
时间类型
类型 |
字节 |
例 |
精确性 |
DATE |
三字节 |
2015-05-01 |
精确到年月日 |
TIME |
三字节 |
11:12:00 |
精确到时分秒 |
DATETIME |
八字节 |
2015-05-01 11::12:00 |
精确到年月日时分秒 |
TIMESTAMP |
2015-05-01 11::12:00 |
精确到年月日时分秒 |
-
MySQL在5.6.4版本之后,TIMESTAMP和DATETIME支持到微秒。
-
TIMESTAMP会根据系统时区进行转换,DATETIME则不会
-
存储范围的区别
-
TIMESTAMP存储范围:1970-01-01 00::00:01 to 2038-01-19 03:14:07
-
DATETIME的存储范围:1000-01-01 00:00:00 to 9999-12-31 23:59:59
-
一般使用TIMESTAMP国际化
-
如存时间戳使用数字类型BIGINT
字符串类型
类型 |
单位 |
最大 |
特性 |
CHAR |
字符 |
最大为255字符 |
存储定长,容易造成空间的浪费 |
VARCHAR |
字符 |
可以超过255个字符 |
存储变长,节省存储空间 |
TEXT |
字节 |
总大小为65535字节,约为64KB |
– |
-
TEXT在MySQL内部大多存储格式为溢出页,效率不如CHAR
-
Mysql默认为utf-8,那么在英文模式下1个字符=1个字节,在中文模式下1个字符=3个字节。
以上内容转载自:https://github.com/jaywcjlove/handbook/edit/master/MySQL/MySQL数据类型.md
JAVA数据类型在MySql中的对应
java类 |
mysql数据库 |
|
java.lang.Byte |
byte |
TINYINT |
java.lang.Short |
short |
SMALLINT |
java.lang.Integer |
integer |
INGEGER |
java.lang.Long |
long |
BIGINT |
java.lang.Float |
float |
FLOAT |
java.lang.Double |
double |
DOUBLE |
java.lang.BigDecimal |
big_decimal |
NUMERIC |
java.lang.Boolean |
boolean |
BIT |
java.lang.String |
string |
VARCHAR |
java.lang.Boolean |
yes_no |
CHAR(1)(‘Y’或’N’) |
java.lang.Boolean |
true_false |
CHAR(1)(‘Y’或’N’) |
java.uitl.Date / java.sql.Date |
date |
DATE |
java.sql.Time |
time |
TIME |
java.sql.Timestamp |
timestamp |
TIMESTAMP |
java.uitl.Calendar |
celendar |
TIMESTAMP |
java.uitl.Calendar |
calendar |
TIMESTAMP |
java.io.Serializable |
serializable |
VARBINARY/BLOB |
java.sql.Clob |
clob |
CLOB |
java.sql.Blob |
blob |
BLOB |
java.lang.Class |
class |
VARCHAR |
java.uitl.Locale |
locale |
VARCHAR |
java.uitl.TimeZone |
timezone |
VARCHAR |
java.uitl.Currency |
currency |
VARCHAR |
原文链接:https://blog.csdn.net/weixin_39746740/article/details/82053908
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/160683.html