H2数据库中的数据类型
最近在开发项目的中,使用到了H2数据库,这里总结下类型,简单的做下记录以便后续查阅。
一、类型总结
类型描述 | 对应数据库中类型 |
---|---|
整数 | INT |
布尔型 | BOOLEAN |
微整数 | TINYINT |
小整数 | SMALLINT |
大整数 | BIGINT |
标识符 | IDENTITY |
货币数 | DECIMAL |
双精度实数 | DOUBLE |
实数 | REAL |
时间 | TIME |
日期 | DATE |
时间戳 | TIMESTAMP |
二进制 | BINARY |
其他类型 | OTHER |
可变字符串 | VARCHAR |
不区分大小写可变字符串 | VARCHAR_IGNORECASE |
字符 | CHAR |
二进制大对象 | BLOB |
文本大对象 | CLOB |
通用唯一标识符 | UUID |
数组 | ARRAY |
二、类型对应说明
1.整数(INT)INT | INTEGER | MEDIUMINT | INT4 | SIGNED
值的范围为: -2147483648 到 2147483647.
对应到Java类型: java.lang.Integer.
例如:
INT
2.布尔型(BOOLEAN)
BOOLEAN | BIT | BOOL
可能的值为: TRUE 和 FALSE。
对应到Java类型: java.lang.Boolean.
例如:
BOOLEAN
3.微整数(TINYINT)
TINYINT
值的范围为: -128 到 127.
对应到Java类型: java.lang.Byte.
例如:
TINYINT
4.小整数(SMALLINT)
SMALLINT | INT2 | YEAR
值的范围为: -32768 到 32767.
对应到Java类型: java.lang.Short.
例如:
SMALLINT
5.大整数(BIGINT)
BIGINT | INT8
值的范围为: -9223372036854775808 到 9223372036854775807.
对应到Java类型: java.lang.Long.
例如:
BIGINT
6.标识符(IDENTITY)
IDENTITY
自增值,值的范围为: -9223372036854775808 到 9223372036854775807。使用的值不能再重用,即使事务回滚。
对应到Java类型: java.lang.Long.
例如:
IDENTITY
7.货币数(DECIMAL)
{ DECIMAL | NUMBER | DEC | NUMERIC } ( precisionInt [ , scaleInt ] )
固定整数位和小数位。这个数据类型经常用于存储货币等类型的值。
对应到Java类型: java.math.BigDecimal.
例如:
DECIMAL(20, 2)
8.双精度实数(DOUBLE)
{ DOUBLE [ PRECISION ] | FLOAT | FLOAT4 | FLOAT8 }
浮点数。不能应用到表示货币等值,因为有四舍五入的问题。
对应到Java类型: java.lang.Double.
例如:
DOUBLE
9.实数(REAL)
REAL
单精度浮点数。不能应用到表示货币等值,因为有四舍五入的问题。
对应到Java类型: java.lang.Float.
例如:
REAL
10.时间(TIME)
TIME
格式为 hh:mm:ss.
对应到Java类型:java.sql.Time.
例如:
TIME
11.日期(DATE)
DATE
格式为 yyyy-MM-dd.
对应到Java类型: java.sql.Date
例如:
DATE
12.时间戳(TIMESTAMP)
{ TIMESTAMP | DATETIME | SMALLDATETIME }
格式为 yyyy-MM-dd hh:mm:ss[.nnnnnnnnn].
对应到Java类型: java.sql.Timestamp (java.util.Date 也支持).
例如:
TIMESTAMP
13.二进制(BINARY)
{ BINARY | VARBINARY | LONGVARBINARY | RAW | BYTEA } [ ( precisionInt ) ]
表示一个字节数组。针对更长的数组,使用 BLOB 类型。最大的尺寸为 2 GB,当使用这种数据类型时,整个对象都会保存在内存中,在内存中的尺寸是一个精确的指定值,只有实际的数据会被持久化。对于大的文本数据,还是使用 BLOB 和 CLOB 更合适。
对应到Java类型: byte[].
例如:
BINARY(1000)
14.其他类型(OTHER)
OTHER
这个类型允许存储可序列化的JAVA对象。在内部,使用的是一个字节数组。序列化和反序列化只在客户端端完成。反序列化仅在 getObject 被调用时才被调用。JAVA操作因为安全的原因并不能在数据库引擎内被执行。可以使用 PreparedStatement.setObject 存储对象。
对应到Java类型: java.lang.Object (或者是任何子类).
例如:
OTHER
15.可变字符串(VARCHAR)
{ VARCHAR | LONGVARCHAR | VARCHAR2 | NVARCHAR
| NVARCHAR2 | VARCHAR_CASESENSITIVE} [ ( precisionInt ) ]
Unicode 字符串。使用两个单引号(’’) 表示一个引用。最大的长度是Integer.MAX_VALUE,字符串的实际长度是精确指定的,仅实际的数据会被持久化。当使用这种数据类型时,整个文本都会保存在内存中。更多的文本数据,使用 CLOB 更合适。
对应到Java类型: java.lang.String.
例如:
VARCHAR(255)
16.不区分大小写的可变字符串(VARCHAR_IGNORECASE )
VARCHAR_IGNORECASE [ ( precisionInt ) ]
与 VARCHAR 类型类似,只是在比较时不区分大小写。存储时是混合大小写存储的。当使用这种数据类型时,整个文本都会保存在内存中。更多的文本数据,使用 CLOB 更合适。
例如:
VARCHAR_IGNORECASE
17.字符(CHAR)
{ CHAR | CHARACTER | NCHAR } [ ( precisionInt ) ]
这个类型支持是针对其他数据库或老的应用的兼容性。与VARCHAR 的不同是尾空格将被忽略并且不会被持久化。 Unicode 字符串。使用两个单引号(’’) 表示一个引用。最大的长度是Integer.MAX_VALUE,字符串的实际长度是精确指定的,仅实际的数据会被持久化。当使用这种数据类型时,整个文本都会保存在内存中。更多的文本数据,使用 CLOB 更合适。
对应到Java类型: java.lang.String.
例如:
CHAR(10)
18.二进制大对象(BLOB)
{ BLOB | TINYBLOB | MEDIUMBLOB | LONGBLOB | IMAGE | OID } [ ( precisionInt ) ]
类似于BINARY,但是针对的是非常大的值如文件或是图片。跟BINARY不同的是,大对象并不完全保存在内存中。使用 PreparedStatement.setBinaryStream 存储对象,详细请参见 CLOB 和 高级 / 大对象。
对应到Java类型: java.sql.Blob (java.io.InputStream 也支持)。
例如:
BLOB
19.文本大对象(CLOB)
{ CLOB | TINYTEXT | TEXT | MEDIUMTEXT | LONGTEXT | NTEXT | NCLOB } [ ( precisionInt ) ]
CLOB类似于 VARCHAR,但是针对的是非常大的值。与 VARCHAR不同的是,CLOB 对象并不完全保存在内存中,而是使用的流。CLOB 可以用于文档或文本,如果XML、HTML文档,文本文件、未限制尺寸的备忘录等。使用 PreparedStatement.setCharacterStream 存储对象。详细请参见 高级 / 大对象。
VARCHAR 用于相对较小的文本(如200个字符以内)。小的 CLOB 值被就地存储,但是也比 VARCHAR 要大。
对应到Java类型: java.sql.Clob (java.io.Reader 也支持).
例如:
CLOB
20.通用唯一标识符(UUID)
UUID
UUID(Universally unique identifier),是一个128BIT的值,使用 PreparedStatement.setBytes 或 setString 去存储值。
对应到Java类型: java.util.UUID.
例如:
UUID
21.数组(ARRAY)ARRAY
一组值,可以使用值列表 (1, 2) 或 PreparedStatement.setObject(…, new Object[] {…}) 存储对象。
对应到Java类型: java.lang.Object[] (没有任何原始类型数组被支持).
例如:
ARRAY
H2数据库中的数据类型相关推荐
- 数据库中的数据类型对应Java数据类型
1.数据库中的数据类型对应Java数据类型 大方向用来参考,细节部分可能有出入(工作中遇到的) SMALLINT ==> Short包装类 2.Java包装类
- sql出现列名无效的原因_SQL数据库中的数据类型与表结构的创建
一. 数据类型分类 二. 在数据库中创建表table ① .用向导创建表 表结构创建好了之后保存: 保存之后可以在资源管理器中看见表: 三.用代码创建表: ① .sql创建代码的语法如下(必须要掌握的 ...
- 数据库中html数据类型,常用数据库的字段类型及大小
Oracle/MSSQL/Mysql 常用数据库的字段类型及大小 ORACLE的数据类型 常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字符串 最大长度2000 ...
- SQL SERVER数据库中的数据类型 转
每次看了每次都要忘.. 转自http://bbs.nankai.edu.cn/ " 设计数据库时候,我们习惯将存储字符串的字段数据类型设置为char.varchar或 nchar.nvarc ...
- mysql中的转换类型数据类型_数据库中转换数据类型的几种方法
展开全部 oracle有三种最基本的数据类型,即字符型.数值型.日期型. (注意需要起别名的地方要起别名) oracle提供的单行62616964757a686964616fe4b893e5b19e3 ...
- 数据库中修改数据类型
UNIT_PRICE :数据库原先类型为: NUMBER(18,4) AMOUNT : 数据库原先类型为: NUMBER(18,4) 如果直接进行修改会报错,因为原先字段中已经有数据了. ALTER ...
- SIKI学院:MySQL数据库从零到精通:十五:课时 19 : 18-关于MySQL数据库中的数据类型和帮助文档
目录 一.目的 1.想:提高学习效率,所以将老师的内容记录下来 二.参考 1.SIKI学院 三.注意 1.课程资源下载 1.MySQL下载地址 四.操作:成功 1.内容 1.添加表头:给账号添加创建时 ...
- Java嵌入式数据库H2学习总结(三)——在Web应用中嵌入H2数据库
H2作为一个嵌入型的数据库,它最大的好处就是可以嵌入到我们的Web应用中,和我们的Web应用绑定在一起,成为我们Web应用的一部分.下面来演示一下如何将H2数据库嵌入到我们的Web应用中. 一.搭建测 ...
- oracle中的sql文本类型,Oracle数据库的空间数据类型
Oracle数据库中空间数据类型随着GIS.CAD/CAM的广泛应用,对数据库系统提出了更高的要求,不仅要存储大量空间几何数据,且以事物的空间关系作为查询或处理的主要内容.Oracle数据库从9i开始 ...
最新文章
- Yolo:实时目标检测实战(下)
- android查看报错日志,android运行错误日志帮看下 不懂啊
- 湖南工程师用中文编写操作系统,还发明了甲、乙、丙语言???
- 在MFC对话框中快速集成三维控件
- IdentityHashMap
- D3D API - D3DTA_TEMP
- axios create拦截_Vue学习-axios
- 算法竞赛入门经典|习题3-8, 循环小数(UVa202)
- MiniGUI开发环境搭建全记录(嵌入式计X86)
- mysql最大连接数合理值_MySQL服务器最大连接数的合理设置
- 冯·卡门:用数学武装工程科学
- 【C++】 Boost 库编译技巧总结
- 13个非常实用的JavaScript小技巧
- python——extend用新序列扩展其他列表
- 信捷XC系列PLC-编程
- 微信头像卡片制作,听说很火?
- input 输入框中文,监听的input事件 屏蔽拼音状态
- 基于杂化材料银-氨基硅烷氧化石墨烯的化学战剂的电化学传感
- 2019\National _C_C++_A\试题 A: 三升序列
- 电子科技大学公开课:数字信号处理