HSQLDB 支持的 SQL 标准

原创 2011年01月12日 16:27:00

HyperSQL 2.0 支持 SQL 标准92,1999,2003 中定义 的 SQL 方言。这就意味着 HSQLDB 能够支持上面标准中涉及到的所有特性。

例如一些特性:left out join 等,这些特性都能在相关的标准中找到。

所有 SQL-92 中的句法特性和高级特性也能够被很好的支持,一些在 SQL:2008 中涉及到的一些可选特性也被支持了。SQL 标准的一致性工作也在不停的改变和统一中。

换句话说,HyperSQL 是所有开源关系数据库 中能够对 SQL 标准支持得最好的一种数据 库。

手册 中的一些章节使用的句法可能随着时间 的发展有所过时,当你为你的 HSQLDB 书写或者转换以及存在的 SQL DDL (数据定义语言 ),DML(数据操作语言)或DQL(数据查询语言)的时候,你需要查看下支持的句法,同时对你使用的老的 SQL 语句进行一些修改。

有差不多超过 300 多个关键字为保留关键字,你不能在你的表名和列名中使用这些关键字。例如关键字 POSITION 为函数定义的时候使用的保留关键字,这个与在 Java 程序 中使用的方法 String.indexOf() 又很接近。

例如 CUBE 为 SQL 标准的保留关键字,这个关键字现在还不能在 HSQLDB 中被支持,但是这个关键字是可以在表名和列名中使用的。

你应该尽可能的不要在你的表名和列名中使用这样的关键字,因为这些关键字有可能被数据库拒绝定义或者查询。

完整的关键字列表,你可以参考相关的手册,使用 Google 等搜索引擎来进行搜索。

如果你是做希望在一些表名和列名中使用保留关键字,那么你可以使用双引号来包含这个关键字。

HyperSQL 同时也支持增强关键字和表达式,这部分并不是 SQL 的标准。

例如表达式:

SELECT TOP 5 FROM .., SELECT LIMIT 0 10 FROM ... or DROP TABLE mytable
IF EXISTS便使用了这样的结构

你可以参考很多打印版本的 SQL 脚本和句法。如果你想对你的 SQL 脚本进行更好的组织,你也可以参考电子书: PostgreSQL:介绍与概念 http://www.postgresql.org/files/documentation/books/aw_pgsql/index.html   。上面这本书中描述的核心内容也适用于 HyperSQL。

HyperSQL 也定义了一些与其他数据库不同的关键字 (例如,OUTER,OID's 等)和一些有不同用途的关键字 (IDENTITY/SERIAL, TRIGGER, SEQUENCE 等)。

在 HyperSQL 2.0 中,所有 JDBC 4.0 中描述的特性都能够被完全的支持。

与 JDBC 有关的相关类和文档 ,以及 HSQLDB 对 JDBC 进行定义的注解,你可以参考 HSQLDB 提供的相关 Java API 文档,这些内容将会在类 org.hsqldb.jdbc.* 中进行定义和描述。

 

http://www.ossez.com/viewthread.php?tid=6793&fromuid=426

HSQLDB数据库整理

一、简介 HSQLDB(HyperSQL Database)是一个轻量级的纯Java开发的开放源代码的关系型数据库,其体积小,占用空间小,使用简单,支持内存运行方式等特点。 hsqldb-2....
  • fanxiaobin577328725
  • fanxiaobin577328725
  • 2016年07月14日 21:26
  • 2502

如何将openCRX数据从HSQLDB迁移到其他数据库

本指南讲解如何从HSQLDB迁移到其他数据库,例如PostgreSQL,MySQL,Oracle,SQL Server或者DB2。 本指南假定openCRX2.8 Server已经按照openCRX...
  • njchenyi
  • njchenyi
  • 2011年10月14日 10:26
  • 1969

mysql中的sql与标准sql不同的地方

mysql> create table baixyu1(id1 int,id2 int); Query OK, 0 rows affected (0.03 sec)mysql> insert int...
  • aoerqileng
  • aoerqileng
  • 2017年04月13日 17:24
  • 198

HSQLDb倒数据到Mysql

文章http://wiki.pentaho.com/display/COM/Use+Kettle+to+Migrate+Sample+Data+to+MySQL 给出了解决方案, 就是采用kettl...
  • sundongsdu
  • sundongsdu
  • 2013年03月14日 08:32
  • 1362

HSQLDB的研究与性能测试(与Mysql对比)

HSQLDB的研究与性能测试(与Mysql对比) 1.       HSQLDB简介 HSQLDB数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议。相对其他数据库来说,其体...
  • catontower
  • catontower
  • 2012年04月23日 15:37
  • 11040

HSQLDB内存数据库

HSQLDB是一个开源的纯Java嵌入式关系数据库管理系统,小巧方便,具有标准的SQL语法和Java接口,可以作为内存数据库、独立数据库和C/S数据库,支持索引、事务处理、Java存储过程、完整性引用...
  • Amkio
  • Amkio
  • 2016年01月28日 16:18
  • 1747

MySQL对标准SQL的扩展

1.8.4. MySQL对标准SQL的扩展 MySQL服务器包含一些其他SQL DBMS中不具备的扩展。注意,如果使用了它们,将无法把代码移植到其他SQL服务器。在某些情况下,你可以...
  • kendyhj9999
  • kendyhj9999
  • 2014年03月25日 14:17
  • 652

新人学习笔记-SQL的ANSI标准

SQL(STructured Query Language)是一种资料库查询和程式设计语言,用於存取资料以及查询、更新和管理关联式资料库系统。美国国家标準局(ANSI)与国际标準化组织(ISO)已经制...
  • News_chapter
  • News_chapter
  • 2017年10月16日 09:41
  • 148

hsqldb的安装使用

Hsqldb下载: hsqldb对应安装文件可以从https://sourceforge.net/projects/hsqldb/files/hsqldb/hsqldb_2_3/下载,本文对应的是hs...
  • menghuannvxia
  • menghuannvxia
  • 2016年10月15日 12:07
  • 772

MySQL入门之使用SQL99标准的连接查询

使用SQL99标准的连接查询(JOIN..ON..) 内连接 只返回满足连接条件的数据(两边都有的才显示)。 select e., d. ...
  • lzjsqn
  • lzjsqn
  • 2017年01月12日 14:27
  • 654
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HSQLDB 支持的 SQL 标准
举报原因:
原因补充:

(最多只允许输入30个字)