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(一个集合。能有零个或多个值的一个字符串对象,其中每一个必须从值列表’value1′, ‘value2′, …选出。一个SET最多能有64个成员。) | CHAR(定长字符串,n字节长,如果不指定长度,缺省 为1个字节长(一个汉字为2字节)) VARCHAR VARCHAR2(可变长的字符串,具体定义时指明最大长度n, 这种数据类型可以放数字、字母以及ASCII码字符集中的所有符号) VARCHAR和VARCHAR2比char节省空间,在效率上比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 (一个很小的整数。有符号的范围是-128到127,无符号的范围是0到255) SMALLINT(一个小整数。有符号的范围是-32768到32767,无符号的范围是0到65535) INT(一个正常大小整数。有符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295。 ) MEDIUMINT(一个中等大小整数。有符号的范围是-8388608到8388607,无符号的范围是0到16777215。) | NUMBER(number(m,n) m=1 to 38 n=-84 to 127 可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以后的位数) | INT(以4个字节来存储正负数.可存储范围为:-2^31至2^31-1) TINYINT(是最小的整数类型,仅用1字节,范围:0至此^8-1) SMALLINT(以2个字节来存储正负数.存储范围为:-2^15至2^15-1) | INTEGER SMALLINT |
java.lang.Long | BIGINT(一个大整数。有符号的范围是-9223372036854775808到9223372036854775807,无符号的范围是0到 18446744073709551615) | NUMBER | BIGINT | BIGINT |
java.lang.Float | FLOAT(有对应的FLOAT和DOUBLE相同的范围,但是显示尺寸和小数 位数是未定义的) | FLOAT | REAL(位数为24,用4个字节,数字范围:-3.04E+38至3.04E+38) | REAL |
java.lang.Double | DOUBLE(双精度浮点型数据) | FLOAT | FLOAT(用8个字节来存储数据.最多可为53位.范围为:-1.79E+308至1.79E+308) | DOUBL |
java.lang.Boolean | BIT(BIT类型由于只有0和1或者说false和true,这种情况只需要一个Bit位就可以表示了,BIT类型占用的空间与BIT类型的列所在表的位置有关,有些情况下BIT占用了一个字节,有些情况下BIT实际占用了几个位) | NUMBER | BIT(bit数据类型代表0,1或NULL,就是表示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.5808至92233720368577.5807.需要8 个字节) Smallmoney(记录金额范围为:-214748.3648至214748.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/1至2079/12/31.使用4个字节) Datatime(表示时间范围可以表示从1753/1/1至9999/12/31,时间可以表示到3.33/1000秒.使用8个字节) | TIMESTAMP |
java.sql.Date | YEAR(一个2或4位数字格式的年(缺省是4位)。允许的值是1901到2155,和0000(4位年格式),如果你使用2位,1970-2069( 70-69)) | NUMBER | ||
java.sql.time | TIME(一个日期。支持的范围是’1000-01-01′到’9999-12-31′。MySQL以’YYYY-MM-DD’格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列。 ) | DATE(从公元前4712年1月1日到公元4712年12月31日的所有合法日期, Oracle 8i其实在内部是按7个字节来保存日期 数据,在定义中还包括小时、分、秒。 缺省格式为DD-MON-YY,如07-11月-00 表示2000年11月7日) |
java数据类型对应的各个数据库的数据类型
最新推荐文章于 2024-01-19 14:20:10 发布