概述
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:07DATETIME
的存储范围: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
最后
以上就是冷酷音响为你收集整理的MySQL数据类型及JAVA对应MySQL数据类型JAVA数据类型在MySql中的对应的全部内容,希望文章能够帮你解决MySQL数据类型及JAVA对应MySQL数据类型JAVA数据类型在MySql中的对应所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复