【死记硬背】MySQL的数据类型主要有:数值类型、时间类型和字符串类型,下面我们就来说一说关于mysql数据的基本类型到底有哪些?我们一起去了解并探讨一下这个问题吧!

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的值

小数值

2 时间类型

类型

大小(字节)

范围

格式

用途

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

混合日期和时间值,时间戳

3 字符串类型

类型

大小

用途

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字节

极大文本数据

4 MySQL数据类型与Java数据类型映射

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%免费领取楼主的所有面试题资料!

,