MYSQL数据库中,常见的数据类型有哪些?它们与java中的数据类型如何对应

时间:2022-01-23 13:48:32

A、常规 映射

integer 或者 int

int 或者 java.lang.Integer

INTEGER

4 字节

long

long Long

BIGINT

8 字节

short

short Short

SMALLINT

2 字节

byte

byte Byte

TINYINT

1 字节

float

float Float

FLOAT

4 字节

double

double Double

DOUBLE

8 字节

big_decimal

java.math.BigDecimal

NUMERIC

NUMERIC(8,2)8 位

character

char Character String

CHAR(1)

定长字符

string

String

VARCHAR

变长字符串

boolean

boolean Boolean

BIT

布尔类型

yes_no

boolean Boolean

CHAR(1) (Y-N)

布尔类型

true_false

boolean Boolean

CHAR(1) (T-F)

布尔类型

B 、 Java 时间和日期类型

映射类型

Java 类型

标准 SQL 类型

描述

date

util.Date 或者 sql.Date

DATE

YYYY-MM-DD

time

Date Time

TIME

HH:MM:SS

timestamp

Date Timestamp

TIMESTAMP

YYYYMMDDHHMMSS

calendar

calendar

TIMESTAMP

YYYYMMDDHHMMSS

calendar_date

calendar

DATE

YYYY-MM-DD

C、 Java 大对象类型

映射类型

Java 类型

标准 SQL 类型

MySQL 类型

binary

byte[]

VARBINARY( 或 BLOB)

BLOB

text

String

CLOB

TEXT

serializable

Serializable 接口任意实现类

VARBINARY( 或 BLOB)

BLOB

clob

java.sql.Clob

CLOB

TEXT

blob

java.sql.Blob

BLOB

BLOB

对于bolb,一般用于对图片的数据库存储,原理是把图片打成二进制,然后进行的一种存储方式,在java中对应byte[]数组。

对于boolen类型,在mysql数据库中,认为用int类型代替较好,对bit操作不是很方便,具有web页面开发的项目中,表示0/1,对应java类型的Integer较好。

 
decimal列的声明语法是decimal(m,d)。
参数的取值范围: 
1、M是数字的最大数(精度)。其范围为1~65(在较旧的MySQL版本中,允许的范围是1~254)。 
2、D是小数点右侧数字的数目(标度)。其范围是0~30,但不得超过M。 
说明:float占4个字节,double占8个字节,decimail(M,D)占M+2个字节。 
如DECIMAL(5, 2) 的最大值为9 9 9 9 . 9 9,因为有7 个字节可用。