H2Database数据类型
- 格式:pdf
- 大小:174.17 KB
- 文档页数:7
福建省工程建设地方标准福建省城市地下管线信息数据库建库规范(征求意见稿)Specification for information database building of underground pipelines and cables in Fujian province2013年X月X日发布2013年X月X日实施前言根据福建省住房和城乡建设厅《关于印发福建省住房和城乡建设厅2012年科学技术项目计划的通知》(闽建科[2012]23号),规程编制组经广泛调查研究,认真总结实践经验,参考国家及行业相关标准,并在广泛征求意见的基础上,制定本规程。
本规程的主要技术内容是:1.总则;2.术语定义;3.基本规定;4.数据内容;5.数据库设计、6.数据建库;7.数据要求;8.质量要求;9.附则。
本规程中以黑色字体标志的条文为强制性条文,必须严格执行。
本规程由福建省住房和城乡建设厅负责管理(和对强制性条文的解释),由厦门市城市建设档案馆负责日常管理,由厦门市建设与管理局城市建设处负责具体技术内容的解释。
执行过程中如有意见或者建议,请寄送厦门市城市建设档案馆(地址:厦门市厦禾路362号建设大厦,邮编:361003)。
本规程主编单位:厦门市城市建设档案馆本规程参编单位:山东正元地球物理信息技术有限公司沈阳地球物理勘察院广东省地质物探工程勘察院河南省地球物理工程勘察院四川省第三测绘工程院山东中基地理信息监理有限责任公司厦门精图信息技术股份有限公司厦门地震勘测研究中心厦门市市政工程设计院有限公司厦门市地质工程勘察院本规程参加单位:福建省测绘产品质量监督检验站厦门市海沧市政建设管理中心本规程主要起草人员:何庆丰吴成勇夏蔷哲徐宝聂荣辉何仲豫王勇李凤之张春雷吴献文刘国安方涛张德彪何汉峰乔志勇沈在增姚龙泓李光明刘万信陈桂忠季飞章飚本规程主要审查人员:目录1总则 (1)2术语定义 (2)3基本规定 (3)4数据内容 (4)5数据库设计 (5)6数据建库 (6)7数据要求 (7)8质量要求 (10)9附则 (11)附录A管线代号和颜色 (12)附录B管线数据分层 (13)附录C管线数据属性结构 (15)附录D地下管线属性信息 (18)附录E地下管线点符号与代码 (20)附录F管线点特征、附属物、材质的名称标准 (22)附录G地形图要素分层 (23)附录H地形图属性信息 (24)本规范用词说明 (28)条文说明 (29)Contents1 General Principles (1)2 Terms (2)3 Basic Provisions (3)4 Data Contents (4)5 Database Design (5)6 Database Building (6)7 Data Requirements (7)8 Data Quality Requirements (10)9 Supplementary Articles (11)Appendix A Code and Colour of Underground Pipeline (12)Appendix B Data Delamination of Underground Pipeline (13)Appendix C Data Attribute Structure of Underground Pipeline (15)Appendix D Attribute Information of Underground Pipeline (18)Appendix E Symbol and Code of Underground Pipeline Point (20)Appendix F Name Standard of Feature, Subsidiary and Material (22)Appendix G Essential Delamination of Topographic Map (23)Appendix H Attribute Information of Topographic Map (24)Word of description of (28)Explanation of Provisions (29)1 总则1.0.1为推动城市地下管线的信息化管理和应用,促进城市地下管线信息的交换、共享和更新,制定本规范。
sqlserver数据类型及适用范围SQL Server是一种关系型数据库管理系统,它支持多种数据类型,每种数据类型都有其适用范围和特点。
本文将介绍一些常用的SQL Server数据类型及其适用范围,以帮助读者更好地理解和使用这些数据类型。
1. 整数数据类型:- INT:用于存储整数值,范围为-2^31到2^31-1。
- BIGINT:用于存储大整数值,范围为-2^63到2^63-1。
- SMALLINT:用于存储小整数值,范围为-2^15到2^15-1。
2. 小数数据类型:- FLOAT:用于存储浮点数值,范围为-1.79E+308到1.79E+308。
- DECIMAL:用于存储固定精度的小数值,需要指定精度和小数位数。
3. 字符串数据类型:- VARCHAR:用于存储可变长度的字符串,最大长度为8000个字符。
- CHAR:用于存储固定长度的字符串,需要指定长度,最大长度为8000个字符。
- NVARCHAR:用于存储Unicode格式的可变长度字符串,最大长度为4000个字符。
- NCHAR:用于存储Unicode格式的固定长度字符串,需要指定长度,最大长度为4000个字符。
4. 日期和时间数据类型:- DATETIME:用于存储日期和时间,范围为1753年1月1日到9999年12月31日。
- DATE:用于存储日期,范围为0001年1月1日到9999年12月31日。
- TIME:用于存储时间,范围为00:00:00到23:59:59。
5. 布尔数据类型:- BIT:用于存储布尔值,可以是0、1或NULL。
6. 二进制数据类型:- VARBINARY:用于存储可变长度的二进制数据,最大长度为8000个字节。
- BINARY:用于存储固定长度的二进制数据,需要指定长度,最大长度为8000个字节。
7. 其他数据类型:- XML:用于存储XML格式的数据。
- UNIQUEIDENTIFIER:用于存储全局唯一标识符(GUID)。
H2数据库攻略H2是⼀个开源的嵌⼊式数据库引擎,采⽤java语⾔编写,不受平台的限制,同时H2提供了⼀个⼗分⽅便的web控制台⽤于操作和管理数据库内容。
H2还提供兼容模式,可以兼容⼀些主流的数据库,因此采⽤H2作为开发期的数据库⾮常⽅便。
⼀、引⼊Maven依赖在maven中定义H2数据库的版本属性1 2 3<properties><h2.version>1.3.172</h2.version> </properties>添加H2依赖1 2 3 4 5 6<dependency><groupId>com.h2database</groupId> <artifactId>h2</artifactId><version>${h2.version}</version><scope>test</scope></dependency>⼆、运⾏⽅式1、在内存中运⾏数据库只在内存中运⾏,关闭连接后数据库将被清空,适合测试环境连接字符串:1jdbc:h2:mem:DBName;DB_CLOSE_DELAY=-1如果不指定DBName,则以私有⽅式启动,只允许⼀个连接2、嵌⼊式数据库持久化存储为单个⽂件连接字符串:1jdbc:h2:file:~/.h2/DBName;AUTO_SERVER=TRUE~/.h2/DBName表⽰数据库⽂件的存储位置,如果第⼀次连接则会⾃动创建数据库3、服务模式H2⽀持三种服务模式:web server:此种运⾏⽅式⽀持使⽤浏览器访问H2 ConsoleTCP server:⽀持客户端/服务器端的连接⽅式PG server:⽀持PostgreSQL客户端启动tcp服务连接字符串⽰例:1 2jdbc:h2:tcp://localhost/~/test 使⽤⽤户主⽬录jdbc:h2:tcp://localhost//data/test 使⽤绝对路径4、连接字符串参数DB_CLOSE_DELAY:要求最后⼀个正在连接的连接断开后,不要关闭数据库MODE=MySQL:兼容模式,H2兼容多种数据库,该值可以为:DB2、Derby、HSQLDB、MSSQLServer、MySQL、Oracle、PostgreSQLAUTO_RECONNECT=TRUE:连接丢失后⾃动重新连接AUTO_SERVER=TRUE:启动⾃动混合模式,允许开启多个连接,该参数不⽀持在内存中运⾏模式TRACE_LEVEL_SYSTEM_OUT、TRACE_LEVEL_FILE:输出跟踪⽇志到控制台或⽂件,取值0为OFF,1为ERROR(默认值),2为INFO,3为DEBUGSET TRACE_MAX_FILE_SIZE mb:设置跟踪⽇志⽂件的⼤⼩,默认为16M5、启动服务模式,打开H2 Console web页⾯启动服务,在命令⾏中执⾏1java -cp h2*.jar org.h2.tools.Server执⾏如下命令,获取选项列表及默认值1java -cp h2*.jar org.h2.tools.Server -?常见的选项如下:-web:启动⽀持H2 Console的服务-webPort <port>:服务启动端⼝,默认为8082-browser:启动H2 Console web管理页⾯-tcp:使⽤TCP server模式启动-pg:使⽤PG server模式启动此外,使⽤maven也可以启动H2服务12345 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48<?xml version="1.0"encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><modelVersion>1.0.0</modelVersion><version>1.0.0</version><groupId>groupid</groupId><artifactId>h2-console</artifactId><name>H2 Console</name><packaging>pom</packaging><properties><h2.version>1.3.172</h2.version></properties><dependencies><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><version>${h2.version}</version><scope>runtime</scope></dependency></dependencies><build><plugins><plugin><groupId>org.codehaus.mojo</groupId><artifactId>exec-maven-plugin</artifactId><executions><execution><goals><goal>java</goal></goals></execution></executions><configuration><mainClass>org.h2.tools.Server</mainClass><arguments><argument>-web</argument><argument>-webPort</argument><argument>8090</argument><argument>-browser</argument></arguments></configuration></plugin></plugins></build></project>在命令⾏中执⾏如下命令启动H2 Console mvn exec:java或者建⽴⼀个bat⽂件1 2 3@echo offcall mvn exec:java pause此操作相当于执⾏了如下命令:1java -jar h2-1.3.168.jar -web -webPort 8090-browser三、应⽤程序配置1、Properties配置java应⽤程序关于数据库的Properties配置⽂件⽰例如下:1 2 3 4 5 6 7 8#h2 database settingsjdbc.driver=org.h2.Driverjdbc.url=jdbc:h2:file:~/.h2/quickstart;AUTO_SERVER=TRUE;DB_CLOSE_DELAY=-1 ername=sajdbc.password=#connection pool settingsjdbc.pool.maxIdle=5jdbc.pool.maxActive=402、初始化数据库(1)、在Maven中初始化数据库可以创建⼀个Profile,专门⽤于初始化数据库。
h2 数据库 database table index基本概念数据库(database)是用于存储、管理和组织数据的系统。
在数据库中,数据以表(table)的形式进行组织和存储。
而数据库表的索引(index)则是使我们能够快速访问和操作数据库表中数据的重要概念。
数据库表是数据存储的基本结构。
它由行(row)和列(column)组成。
行代表着数据库表中的每条记录,而列则表示每条记录中的具体字段。
通过将数据以表的形式组织,我们可以对数据进行有效的存储和管理。
然而,在面对大量的数据时,直接搜索和遍历数据库表往往会变得很慢。
这是因为它需要逐个比较每一条记录才能找到所需的数据。
这就是索引的作用。
索引是一种数据结构,它可以加速数据库表的查询操作。
它是基于一列或多列的值创建的,可以类比于字典中的索引页。
通过在数据库表上创建索引,数据库系统可以更快地定位和访问存储在表中的数据。
索引通过将数据按特定的列值进行排序和分组,从而使得搜索和排序操作更加高效。
当我们在数据库表中执行查询操作时,数据库系统可以利用索引提供的快速访问路径来定位所需的数据,而不需要遍历整个表。
这大大提高了查询性能。
在实际使用中,我们经常需要根据表中的某个字段进行查询。
例如,我们可以根据顾客的ID来查找他们的购买记录。
如果创建了一个基于顾客ID的索引,数据库系统就可以快速定位并返回与特定顾客相关的数据。
除了加速查询操作,索引还可以用于保证数据的唯一性和完整性。
当我们在数据库表上创建唯一索引时,数据库系统会强制保证该列的值在表中的唯一性。
这可以防止数据冗余和数据错误。
然而,索引并非没有代价的。
首先,索引会占用存储空间。
当我们为表创建了索引之后,数据库系统需要在磁盘上额外存储索引结构。
其次,索引的更新和维护也需要时间和计算资源。
当我们在表中插入、更新或删除数据时,数据库系统也需要更新索引。
另外,过多或不合理的索引也可能导致性能下降。
如果我们为数据库表的每个列都创建了索引,那么每次更新数据都会引发额外的索引维护操作,从而导致性能下降。
七星悍将h2配置参数表简介七星悍将h2是一款高性能的配置参数表工具,用于对系统进行配置参数的管理和调整。
本文将详细介绍七星悍将h2的功能特点、使用方法以及相关配置参数的详细说明。
功能特点1.高效管理:七星悍将h2提供了用户友好的界面,可以方便地管理各类配置参数。
用户可以通过增、删、改、查等操作对配置参数进行管理,并可按需导出或导入配置参数数据。
2.灵活配置:七星悍将h2支持对各类配置参数进行灵活的自定义配置。
用户可以根据实际需求设置不同类型的参数,如文本、数字、布尔值等,并可以进行范围、关联等约束设置。
3.多级配置:七星悍将h2支持多级配置参数的管理。
用户可以将配置参数按照不同的层次进行组织和管理,方便进行配置参数的批量设置和调整。
4.历史记录:七星悍将h2会自动记录配置参数的变更历史,在参数值发生变化时可快速定位和回滚到历史版本,确保配置参数的安全和可追溯性。
5.权限管理:七星悍将h2支持多级权限管理,管理员可以给不同的用户分配不同的权限,确保配置参数的安全性和机密性。
使用方法1.安装七星悍将h2–下载七星悍将h2安装包–执行安装包并按照提示完成安装2.启动七星悍将h2–打开七星悍将h2安装目录–执行启动脚本或双击可执行文件以启动七星悍将h23.登录七星悍将h2–打开浏览器,输入七星悍将h2的访问地址–输入用户名和密码登录系统4.创建配置参数表–在七星悍将h2的主界面,点击”新建配置参数表”按钮–输入配置参数表名称和描述,点击”确认”按钮完成创建5.添加配置参数–在配置参数表界面,点击”新增参数”按钮–输入参数名称、类型、默认值等参数信息,点击”确认”按钮完成添加6.配置参数设置–在配置参数表界面,选择一个参数,点击”配置参数”按钮–根据实际需求,设置该参数的取值范围、关联关系等配置项7.保存配置参数表–在配置参数表界面,点击”保存”按钮,将当前配置参数表保存到系统中配置参数说明以下是七星悍将h2支持的常用配置参数类型以及其说明:1.文本类型–参数类型:text–参数说明:用于输入文本类型的配置参数,如URL、路径等。
H2数据库函数及数据类型概述⼀、H2数据库常⽤数据类型INT类型:对应ng.IntegerREAL类型:对应ng.FloatDOUBLE类型:对应ng.DoubleDECIMAL类型:对应java.math.BigDecimal,⽐如DECIMAL(20,2)CHAR类型:对应ng.String,⽐如CHAR(10)VARCHAR类型:对应ng.StringVARCHAR_IGNORECASE类型:对应ng.String,忽略⼤⼩写BOOLEAN类型:对应ng.BooleanTIME类型:对应java.sql.Time,当转换成java.sql.Date时,⽇期会设置成1970-01-01DATE类型:对应java.sql.Date,格式为yyyy-MM-dd,其时间默认为00:00:00TIMESTAMP类型:对应java.sql.Timestamp,格式为yyyy-MM-dd hh:mm:ss[.nnnnnnnnn],也⽀持java.util.DateTINYINT类型:对应ng.Byte,-128 to 127SMARTINT类型:对应ng.Short,-32768 to 32767BIGINT类型:对应ng.LongIDENTITY类型:⾃增类型,对应ng.Long,值范围-9223372036854775808 to 9223372036854775807BINARY类型:⼆进制字节存储,最⼤不超过2GB,且完全保存在内存,⽐如BINARY(1000)BLOB类型:对应java.sql.Blob,与BINARY相似,但针对很⼤的数据(如⽂件或图像),且不完全保存在内存,使⽤PreparedStatement.setBinaryStream来保存数据。
CLOB类型:与VARCHAR相似,但适⽤于保存很⼤的数据,且数据不完全保存在内存。
⽤于任意尺⼨的XML或HTML⽂档、⽂本⽂件等。
使⽤PreparedStatement.setCharacterStream保存数据。
H2数据库使用范文H2数据库是一个基于Java的关系型数据库管理系统,它是一个以嵌入式数据库的形式存在的开源项目。
H2数据库具有快速、可嵌入、轻量级、可移植等特点,适用于在嵌入式环境下使用,也适用于需要快速部署和轻量级数据库的应用场景。
一、H2数据库的安装和配置2.安装H2数据库,双击安装包进行安装,按照提示完成安装过程。
4.修改配置文件,设置数据库的用户名和密码等参数,保存文件。
5. 启动H2数据库,双击运行h2.bat(Windows系统)或者在终端输入./h2.sh命令(Linux系统),启动数据库服务。
以上是H2数据库的安装和配置过程,完成后就可以开始使用H2数据库了。
二、H2数据库的使用1.命令行访问启动H2数据库后,可以通过命令行访问和管理数据库。
(1)打开命令行窗口,进入H2数据库的安装目录。
(2)输入以下命令连接到数据库:```java -jar h2-*.jar```其中,`h2-*.jar`是H2数据库的jar包的名称,根据自己的安装目录和版本进行替换。
(3)成功连接到数据库后,可以使用SQL语句进行数据库的操作,比如创建表、插入数据、查询数据等。
2.图形化界面访问(1)启动H2数据库后,在浏览器中输入以下地址访问管理界面:``````其中,`localhost`是本地的主机名,`8082`是H2数据库默认的Web 管理界面端口号。
(2)在管理界面中,输入连接数据库的信息,包括用户名、密码、JDBCURL等。
(3)成功连接数据库后,在界面中可以进行表的创建、数据的插入和查询、数据导入导出等操作。
三、H2数据库的特点和优势1.快速:H2数据库采用了优化的查询算法和高性能的存储引擎,具有快速的数据读写速度。
2. 可嵌入:H2数据库可以以嵌入式的方式被集成到Java应用程序中,无需独立的数据库服务器。
3.轻量级:H2数据库的安装包非常小巧,占用的系统资源很少,适合在资源有限的环境中使用。
认识Hibernate一、Hibernate是一个优秀的持久化框架,了解持久化之前,先了解两种状态:1.瞬时状态:保存在内存中的程序数据,程序退出了,数据就消失了。
2.持久状态:保存在磁盘中的程序数据,程序退出了,数据依然存在。
持久化就是程序数据在瞬时状态和持久状态之间转换的一种机制。
二、hibernate是JDBC的轻量级封装,是一个独立的对象持久层框架;Hibernate可以用在任何JDBC可以使用的场合;Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系。
但是和使用它的Java程序,和App Server没有任何关系,也不存在兼容性问题;由于两者读取方式不一样,hibernate采用uuid.hex构造主键,性能稍慢与jdbc;特别是jdbc使用批处理的时候,显得jdbc更快,但是JVM(java虚拟机)内存也就要求大;总而言之,所有的ORM比如CMP、JDO、Hibernate都是对jdbc的封装,理论上讲ORM的性能不会高于jdbc,就像所有的高级语言性能不会高于汇编语言是一个道理。
所以,JDBC占着灵活效率高的优势,而hibernate占着易学易使用的优势。
那么hibernate与JDBC有什么区别呢:相同点:1.都是java数据库操作的中间件;2.两者对数据库对象的操作都不是线程安全的,都需要及时关闭;3.两者都可以对数据库的更新操作进行显式的事务处理;不同点:1.hibernate先检索缓存中的映射对象( 即hibernate操作的是对象),而jdbc则是直接操作数据库,将数据直接通过SQl传送到数据库......(操作的对象不同)2.JDBC使用基于关系数据库的标准SQL(Structured Query Language)语言,hibernate使用HQL(Hibernate Query Language)语言....(使用的语言不同)3.Hibernate操作的数据是可持久化的,也就是持久化的对象属性的值,可以和数据库中保持一致,而jdbc操作数据的状态是瞬时的,变量的值无法和数据库中一致....(数据状态不同)三、ORM(Object Relational Mapping)对象关系映射完成对象数据到关系型数据映射的机制,称为:对象·关系映射,简ORM总结:Hibernate是一个优秀的对象关系映射机制,通过映射文件保存这种关系信息;在业务层以面向对象的方式编程,不需要考虑数据的保存形式。
H2数据库使用LifeBa文章如未注明转载均为原创。
转载请注明:转自LifeBa,谢谢合作:) 本文永久链接:/arch/h2_database_demo.htmlH2数据库介绍常用的开源数据库:H2,Derby,HSQLDB,MySQL,PostgreSQL。
其中H2,HSQLDB 类似,十分适合作为嵌入式数据库使用,其它的数据库大部分都需要安装独立的客户端和服务器端。
H2的优势:1、h2采用纯Java编写,因此不受平台的限制。
2、h2只有一个jar文件,十分适合作为嵌入式数据库试用。
3、性能和功能的优势H2比HSQLDB的最大的优势就是h2提供了一个十分方便的web控制台用于操作和管理数据库内容,这点比起HSQLDB的swing和awt控制台实在好用多了。
H2和各数据库特征比较。
准备工作1、h2-2011-04-04.zip 下载地址:/html/download.html2、解压文件,这里以%H2_HOME%表示为解压的文件目录。
运行%H2_HOME%/bin/h2.bat 将会自动打开下面网址。
(请确认是否安装了jdk,并设置了JAVA_HOME环境变量) http://192.168.140.1:8082/login.jsp?jsessionid=244e36a683f97f0d4f3b000f33530ed13、点击connect ,登录。
4、执行上图中红色部分sql语句,成功创建test表。
因为没有指定数据库文件位置,会自动输出到输出到C:/Users/Administrator下。
H2文件结构%H2_HOME%-h2-binh2-1.3.154.jar //jar包h2.bat //Windows控制台启动脚本h2.sh //Linux控制台启动脚本h2w.bat //Windows控制台启动脚本(不带黑屏窗口)+docs 帮助文档+service //通过wrapper包装成服务。
软件工程师常见数据库解析在当今数字化的时代,数据库成为了软件开发中不可或缺的一部分。
作为软件工程师,了解和熟悉常见的数据库是非常重要的。
本文将介绍几种软件工程师常见的数据库,并解析其特点和用途。
一、关系型数据库关系型数据库是最常见和广泛使用的数据库类型之一。
其以表格的形式存储数据,每个表格都由行和列组成。
表格中的行表示记录,而表格中的列表示属性。
关系型数据库使用结构化查询语言(SQL)进行查询和管理。
1. MySQLMySQL是一种开源的关系型数据库管理系统(RDBMS),广泛用于Web应用程序的开发。
它具有高性能、可靠性和可扩展性的特点。
MySQL支持多种操作系统,并提供了丰富的功能,如事务处理、索引、备份和复制等。
2. OracleOracle是另一种流行的关系型数据库管理系统,被广泛用于企业级应用程序。
它具有强大的性能和安全性,支持大规模数据存储和处理。
Oracle提供了高级的数据管理功能,如分区、数据压缩和高可用性等。
3. SQL ServerSQL Server是由Microsoft开发的关系型数据库管理系统,适用于Windows操作系统。
它具有高度可靠性和安全性,并提供了广泛的功能,如数据仓库、分析和报表等。
SQL Server还支持.NET Framework和Azure云平台。
二、非关系型数据库非关系型数据库(NoSQL)是一种相对于关系型数据库而言的新兴数据库类型。
它们使用非结构化的数据模型,例如键值对、文档、列族和图形等,可以扩展性更强,适用于大规模的分布式系统。
1. MongoDBMongoDB是一种开源的文档型数据库,使用JSON样式的文档存储数据。
它具有高度的灵活性和可扩展性,适用于动态数据模型的应用程序。
MongoDB还支持分片和复制等特性,以提供高性能和高可用性。
2. RedisRedis是一种开源的键值对数据库,可以用于存储各种类型的数据,如字符串、哈希、列表和集合等。
数据类型
整数(INT)
布尔型(BOOLEAN)
微整数(TINYINT)小整数(SMALLINT)
大整数(BIGINT)标识符(IDENTITY)
货币数(DECIMAL)双精度实数
(DOUBLE)
实数(REAL)
时间(TIME)
日期(DATE)
时间戳
(TIMESTAMP)
二进制(BINARY)
其他类型(OTHER)
可变字符串(VARCHAR)
不区分大小写可变字符串
(VARCHAR_IGNORECASE)
字符(CHAR)
二进制大对象(BLOB)
文本大对象(CLOB)
通用唯一标识符(UUID)
数组(ARRAY)
整数(INT)INT|INTEGER|MEDIUMINT|INT4|SIGNED
值的范围为:-2147483648到2147483647.
对应到Java类型:ng.Integer.
例如:
INT
布尔型(BOOLEAN)
BOOLEAN|BIT|BOOL
可能的值为:TRUE和FALSE。
对应到Java类型:ng.Boolean.
例如:
BOOLEAN
微整数(TINYINT)
TINYINT
值的范围为:-128到127.
对应到Java类型:ng.Byte.
例如:
TINYINT
小整数(SMALLINT)
SMALLINT|INT2|YEAR
值的范围为:-32768到32767.
对应到Java类型:ng.Short.
例如:
SMALLINT
大整数(BIGINT)
BIGINT|INT8
值的范围为:-9223372036854775808到9223372036854775807.
对应到Java类型:ng.Long.
例如:
BIGINT
标识符(IDENTITY)
IDENTITY
自增值,值的范围为:-9223372036854775808到9223372036854775807。
使用的值不能再重用,即使事务回滚。
对应到Java类型:ng.Long.
例如:
IDENTITY
货币数(DECIMAL)
{DECIMAL|NUMBER|DEC|NUMERIC}(precisionInt[,scaleInt])
固定整数位和小数位。
这个数据类型经常用于存储货币等类型的值。
对应到Java类型:java.math.BigDecimal.
例如:
DECIMAL(20,2)
双精度实数(DOUBLE)
{DOUBLE[PRECISION]|FLOAT|FLOAT4|FLOAT8}
浮点数。
不能应用到表示货币等值,因为有四舍五入的问题。
对应到Java类型:ng.Double.
例如:
DOUBLE
实数(REAL)
REAL
单精度浮点数。
不能应用到表示货币等值,因为有四舍五入的问题。
对应到Java类型:ng.Float.
例如:
REAL
时间(TIME)
TIME
格式为hh:mm:ss.
对应到Java类型:java.sql.Time.
例如:
TIME
日期(DATE)
DATE
格式为yyyy-MM-dd.
对应到Java类型:java.sql.Date
例如:
DATE
时间戳(TIMESTAMP)
{TIMESTAMP|DATETIME|SMALLDATETIME}
格式为yyyy-MM-dd hh:mm:ss[.nnnnnnnnn].
对应到Java类型:java.sql.Timestamp(java.util.Date也支持).
例如:
TIMESTAMP
二进制(BINARY)
{BINARY|VARBINARY|LONGVARBINARY|RAW|BYTEA}[(precisionInt)]
表示一个字节数组。
针对更长的数组,使用BLOB类型。
最大的尺寸为2GB,当使用这种数据类型时,整个对象都会保存在内存中,在内存中的尺寸是一个精确的指定值,只有实际的数据会被持久化。
对于大的文本数据,还是使用BLOB和CLOB更合适。
对应到Java类型:byte[].
例如:
BINARY(1000)
其他类型(OTHER)
OTHER
这个类型允许存储可序列化的JAVA对象。
在内部,使用的是一个字节数组。
序列化和反序列化只在客户端端完成。
反序列化仅在getObject被调用时才被调用。
JAVA操作因为安全的原因并不能在数据库引擎内被执行。
可以使用PreparedStatement.setObject存储对象。
对应到Java类型:ng.Object(或者是任何子类).
例如:
OTHER
可变字符串(VARCHAR)
{VARCHAR|LONGVARCHAR|VARCHAR2|NVARCHAR
|NVARCHAR2|VARCHAR_CASESENSITIVE}[(precisionInt)]
Unicode字符串。
使用两个单引号('')表示一个引用。
最大的长度是Integer.MAX_VALUE,字符串的实际长度是精确指定的,仅实际的数据会被持久化。
当使用这种数据类型时,整个文本都会保存在内存中。
更多的文本数据,使用CLOB更合适。
对应到Java类型:ng.String.
例如:
VARCHAR(255)
不区分大小写的可变字符串(VARCHAR_IGNORECASE)VARCHAR_IGNORECASE[(precisionInt)]
与VARCHAR类型类似,只是在比较时不区分大小写。
存储时是混合大小写存储的。
当使用这种数据类型时,整个文本都会保存在内存中。
更多的文本数据,使用CLOB更合适。
例如:
VARCHAR_IGNORECASE
字符(CHAR)
{CHAR|CHARACTER|NCHAR}[(precisionInt)]
这个类型支持是针对其他数据库或老的应用的兼容性。
与VARCHAR的不同是尾空格将被忽略并且不会被持久化。
Unicode字符串。
使用两个单引号('')表示一个引用。
最大的长度是Integer.MAX_VALUE,字符串的实际长度是精确指定的,仅实际的数据会被持久化。
当使用这种数据类型时,整个文本都会保存在内存中。
更多的文本数据,使用CLOB更合适。
对应到Java类型:ng.String.
例如:
CHAR(10)
二进制大对象(BLOB)
{BLOB|TINYBLOB|MEDIUMBLOB|LONGBLOB|IMAGE|OID}[(precisionInt)]
类似于BINARY,但是针对的是非常大的值如文件或是图片。
跟BINARY不同的是,大对象并不完全保存在内存中。
使用PreparedStatement.setBinaryStream存储对象,详细请参见CLOB和高级/大对象。
对应到Java类型:java.sql.Blob(java.io.InputStream也支持)。
例如:
BLOB
文本大对象(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
通用唯一标识符(UUID)
UUID
UUID(Universally unique identifier),是一个128BIT的值,使用PreparedStatement.setBytes 或setString去存储值。
对应到Java类型:java.util.UUID.
例如:
UUID
数组(ARRAY)ARRAY
一组值,可以使用值列表(1,2)或PreparedStatement.setObject(..,new Object[]{..})存储对象。
对应到Java类型:ng.Object[](没有任何原始类型数组被支持).
例如:
ARRAY。