java数据类型对应的各个数据库的数据类型

Java数据类型

Mysql数据库类型

Oracle数据库类型

Sql server数据库类型

DB2数据库类型

java.lang.String

VARCHAR(用来存储字符串的属于可变长的字符类型)

CHAR(用来存储字符串的,不可变的字符型)

CHAR的速度比VARCHAR

TEXT(主要是存储字符串,和varchar的长度相同,text不可以设置默认值,对索引的支持还不是很好或者就不支持)

TINYTEXT(一个TEXT列,最大长度为255(2^8-1)个字符)

LONGTEXT(一个TEXT列,最大长度为4294967295(2^32-1)个字符)

MEDIUMTEXT(一个TEXT列,最大长度为16777215(2^24-1)个字符)

ENUM(枚举类型。一个仅有一个值的字符串对象,这个值式选自与值列表’value1′、’value2,NULL。一个ENUM最多能有65535不同的值。

)

SET(一个集合。能有零个或多个值的一个字符串对象,其中每一个必须从值列表’value1value2…选出。一个SET最多能有64个成员。)

CHAR(定长字符串,n字节长,如果不指定长度,缺省

1个字节长(一个汉字为2字节))

VARCHAR

VARCHAR2(可变长的字符串,具体定义时指明最大长度n 这种数据类型可以放数字、字母以及ASCII码字符集中的所有符号)

VARCHARVARCHAR2char节省空间,在效率上比char会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’

VARCHAR2 CLOB(用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB LOB有几种类型,取决于你使用的字节的类型)

CLOB RAW

 

CHAR(长度是设定的,最短为1字节,最长为8000个字节.不足的长度会用空白补上)

NCHAR(长度是设定的,最短为1字节,最长为4000个字节.不足的长度会用空白补上.储存一个字符需要2个字节)

VARCHAR(长度也是设定的,最短为1字节,最长为8000个字节,尾部的空白会去掉)

NVARCHAR(长度是设定的,最短为1字节,最长为4000个字节.尾部的空白会去掉.储存一个字符需要2个字节)

TEXT(长宽也是设定的,最长可以存放2G的数据)

NTEXT(长度是设定的,最短为1字节,最长为2G.尾部的空白会去掉,储存一个字符需要2个字节)

Uniqueidentifier(用于识别数据库里面许多个表的唯一一个记录)

sql_variant

CHAR

VARCHAR

VARGRAPHIC

 GRAPHIC

CLOB

 DBCLOB

java.lang.Integer

TINYINT (一个很小的整数。有符号的范围是-128127,无符号的范围是0255)

SMALLINT(一个小整数。有符号的范围是-3276832767,无符号的范围是065535) 

INT(一个正常大小整数。有符号的范围是-21474836482147483647,无符号的范围是04294967295

)

MEDIUMINT(一个中等大小整数。有符号的范围是-83886088388607,无符号的范围是016777215) 

NUMBER(number(m,n) m=1 to 38 n=-84 to 127 可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以后的位数)

INT(4个字节来存储正负数.可存储范围为:-2^312^31-1)

TINYINT(是最小的整数类型,仅用1字节,范围:0至此^8-1)

SMALLINT(2个字节来存储正负数.存储范围为:-2^152^15-1)

INTEGER

SMALLINT

java.lang.Long

BIGINT(一个大整数。有符号的范围是-92233720368547758089223372036854775807,无符号的范围是0

18446744073709551615)

NUMBER

BIGINT

BIGINT

java.lang.Float

FLOAT(有对应的FLOATDOUBLE相同的范围,但是显示尺寸和小数 位数是未定义的)

FLOAT

REAL(位数为24,4个字节,数字范围:-3.04E+383.04E+38)

REAL

java.lang.Double

DOUBLE(双精度浮点型数据)

FLOAT

FLOAT(8个字节来存储数据.最多可为53.范围为:-1.79E+3081.79E+308)

DOUBL

java.lang.Boolean

BIT(BIT类型由于只有01或者说falsetrue,这种情况只需要一个Bit位就可以表示了,BIT类型占用的空间与BIT类型的列所在表的位置有关,有些情况下BIT占用了一个字节,有些情况下BIT实际占用了几个位)

NUMBER

BIT(bit数据类型代表0,1NULL,就是表示true,false.占用1byte)

N/A

java.lang.Byte[]

BLOB(一个BLOB列,最大长度为65535(2^16-1)个字符)

TINYBLOB(一个BLOB列,最大长度为255(2^8-1)个字符)

LONGBLOB(一个BLOB列,最大长度为4294967295(2^32-1)个字符)

MEDIUMIBLOB(一个BLOB列,最大长度为16777215(2^24-1)个字符)

RAW(可变长二进制数据,在具体定义字段的时候必须指明最大长度)

BLOB(用来保存较大的图形文件或带格式的文本文件,如Microsoft Word文档,以及音频、视频等非文本文件,最大长度是4GB)

TIMESTAMP

BINARY(固定长度的二进制码字符串字段,最短为1,最长为8000)

VARBINARY(binary差异为数据尾部是00,varbinary会将其去掉)

IMAGE(为可变长度的二进制码字符串,最长2G)

CHAR FOR BIT DATA

BLOB

VARCHAR FOR BIT DATA

java.math.BigDecimal

DECIMAL(一个未压缩(unpack)的浮点数字。不能无符号。行为如同一个CHAR列:未压缩意味着数字作为一个字符串被存储,值的每一位使用一个字符)

FLOAT

Money(记录金额范围为:-92233720368577.580892233720368577.5807.需要个字节)

Smallmoney(记录金额范围为:-214748.3648214748.36487.需要4个字节)

Numeric(表示的数字可以达到38,存储数据时所用的字节数目会随着使用权用位数的多少变化)

DECIMAL

java.sql.Timestamp

DATETIME(一个日期和时间组合。支持的范围是’1000-01-01 00:00:00′’9999-12-31 23:59:59′MySQL’YYYY-MM-DD HH:MM:SS’格式来显示DATETIME值,但是允许你使用字符串或数字把值赋给DATETIME的列。)

TIMESTAMP (一个时间戳记。范围是’1970-01-01 00:00:00′2037年的某时)

DATE

Smalldatetime(表示时间范围可以表示从1900/1/12079/12/31.使用4个字节)

Datatime(表示时间范围可以表示从1753/1/19999/12/31,时间可以表示到3.33/1000.使用8个字节)

TIMESTAMP

java.sql.Date

YEAR(一个24位数字格式的年(缺省是4)。允许的值是19012155,和00004位年格式),如果你使用2位,1970-2069( 70-69))

NUMBER

   

java.sql.time

TIME(一个日期。支持的范围是’1000-01-01′’9999-12-31′MySQL’YYYY-MM-DD’格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列。

)

DATE(从公元前471211日到公元47121231日的所有合法日期, 

Oracle 8i其实在内部是按7个字节来保存日期

数据,在定义中还包括小时、分、秒。 

缺省格式为DD-MON-YY,如07-11-00 表示2000117)

   
<!--EndFragment-->

猜你喜欢

转载自ganxinge20090616.iteye.com/blog/1897727
今日推荐