【死记硬背】MySQL的数据类型主要有:数值类型、时间类型和字符串类型,下面我们就来说一说关于mysql数据的基本类型到底有哪些?我们一起去了解并探讨一下这个问题吧!
mysql数据的基本类型到底有哪些
【死记硬背】
MySQL的数据类型主要有:数值类型、时间类型和字符串类型。
1 数值类型
类型 |
大小 |
范围(有符号) |
范围(无符号) |
用途 |
TINYINT |
1 字节 |
(-128,127) |
(0,255) |
小整数值 |
smallint |
2 字节 |
(-32 768,32 767) |
(0,65 535) |
大整数值 |
mediumint |
3 字节 |
(-8 388 608,8 388 607) |
(0,16 777 215) |
大整数值 |
int或INTEGER |
4 字节 |
(-2 147 483 648,2 147 483 647) |
(0,4 294 967 295) |
大整数值 |
BIGINT |
8 字节 |
(-9,223,372,036,854,775,808,9 223 372 036 854 775 807) |
(0,18 446 744 073 709 551 615) |
极大整数值 |
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,(1.175 494 351 E-38,3.402 823 466 E 38) |
单精度 浮点数值 |
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) |
0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E 308) |
双精度 浮点数值 |
decimal |
DECIMAL(M,D) ,如果M>D,为M 2否则为D 2 |
依赖于M和D的值 |
依赖于M和D的值 |
小数值 |
类型 |
大小(字节) |
范围 |
格式 |
用途 |
date |
3 |
1000-01-01/9999-12-31 |
YYYY-MM-DD |
日期值 |
time |
3 |
'-838:59:59'/'838:59:59' |
HH:MM:SS |
时间值或持续时间 |
year |
1 |
1901/2155 |
YYYY |
年份值 |
datetime |
8 |
1000-01-01 00:00:00/9999-12-31 23:59:59 |
YYYY-MM-DD HH:MM:SS |
混合日期和时间值 |
TIMESTAMP |
4 |
1970-01-01 00:00:00/2038结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07 |
YYYYMMDD HHMMSS |
混合日期和时间值,时间戳 |
类型 |
大小 |
用途 |
char |
0-255字节 |
定长字符串 |
varchar |
0-65535 字节 |
变长字符串 |
tinyblob |
0-255字节 |
不超过 255 个字符的二进制字符串 |
tinytext |
0-255字节 |
短文本字符串 |
blob |
0-65 535字节 |
二进制形式的长文本数据 |
text |
0-65 535字节 |
长文本数据 |
mediumblob |
0-16 777 215字节 |
二进制形式的中等长度文本数据 |
mediumtext |
0-16 777 215字节 |
中等长度文本数据 |
longblob |
0-4 294 967 295字节 |
二进制形式的极大文本数据 |
longtext |
0-4 294 967 295字节 |
极大文本数据 |
MySQL Type Name |
Return value of GetColumnTypeName |
Return value of GetColumnClassName |
BIT(1) |
BIT |
java.lang.BOOLEAN |
BIT( > 1) |
BIT |
byte[] |
TINYINT(1) SIGNED, BOOLEAN |
If tinyInt1isBit=true and transformedBitIsBoolean=false: BIT If tinyInt1isBit=true and transformedBitIsBoolean=true: BOOLEAN If tinyInt1isBit=false: TINYINT |
If tinyInt1isBit=true and transformedBitIsBoolean=false: java.lang.Boolean If tinyInt1isBit=true and transformedBitIsBoolean=true: java.lang.Boolean If tinyInt1isBit=false: java.lang.Integer |
TINYINT( > 1) SIGNED |
TINYINT |
java.lang.Integer |
TINYINT( any ) UNSIGNED |
TINYINT UNSIGNED |
java.lang.Integer |
SMALLINT[(M)] [UNSIGNED] |
SMALLINT [UNSIGNED] |
java.lang.Integer (regardless of whether it is UNSIGNED or not) |
MEDIUMINT[(M)] [UNSIGNED] |
MEDIUMINT [UNSIGNED] |
java.lang.Integer (regardless of whether it is UNSIGNED or not) |
INT,INTEGER[(M)] |
INTEGER |
java.lang.Integer |
INT,INTEGER[(M)] UNSIGNED |
INTEGER UNSIGNED |
java.lang.Long |
BIGINT[(M)] |
BIGINT |
java.lang.Long |
BIGINT[(M)] UNSIGNED |
BIGINT UNSIGNED |
java.math.BigInteger |
FLOAT[(M,D)] |
FLOAT |
java.lang.Float |
DOUBLE[(M,B)] [UNSIGNED] |
DOUBLE |
java.lang.Double (regardless of whether it is UNSIGNED or not) |
DECIMAL[(M[,D])] [UNSIGNED] |
DECIMAL |
java.math.BigDecimal (regardless of whether it is UNSIGNED or not) |
DATE |
DATE |
java.sql.Date |
DATETIME |
DATETIME |
java.time.LocalDateTime |
TIMESTAMP[(M)] |
TIMESTAMP |
java.sql.Timestamp |
TIME |
TIME |
java.sql.Time |
YEAR[(2|4)] |
YEAR |
If yearIsDateType configuration property is set to false, then the returned object type is java.sql.Short. If set to true (the default), then the returned object is of type java.sql.Date. |
CHAR(M) |
CHAR |
java.lang.String |
VARCHAR(M) |
VARCHAR |
java.lang.String |
BINARY(M), CHAR(M) BINARY |
BINARY |
byte[] |
VARBINARY(M), VARCHAR(M) BINARY |
VARBINARY |
byte[] |
BLOB |
BLOB |
byte[] |
TINYBLOB |
TINYBLOB |
byte[] |
MEDIUMBLOB |
MEDIUMBLOB |
byte[] |
LONGBLOB |
LONGBLOB |
byte[] |
TEXT |
TEXT |
java.lang.String |
TINYTEXT |
TINYTEXT |
java.lang.String |
MEDIUMTEXT |
MEDIUMTEXT |
java.lang.String |
LONGTEXT |
LONGTEXT |
java.lang.String |
JSON |
JSON |
java.lang.String |
GEOMETRY |
GEOMETRY |
byte[] |
ENUM('value1','value2',...) |
CHAR |
java.lang.String |
SET('value1','value2',...) |
CHAR |
java.lang.String |
参考链接:https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-type-conversions.html
【温馨提示】
点赞 收藏文章,关注我并私信回复【面试题解析】,即可100%免费领取楼主的所有面试题资料!
,