HSQLDB 支持的 SQL 标准

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

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

目录
相关文章
|
SQL JSON 前端开发
|
SQL Java 数据库连接
不受支持的SQL类型1111
不受支持的SQL类型1111
374 0
|
SQL Oracle 关系型数据库
SQL 是一种标准
SQL 是一种标准
78 0
|
SQL 并行计算 关系型数据库
Citus 分布式 PostgreSQL 集群 - SQL Reference(SQL支持和变通方案)
Citus 分布式 PostgreSQL 集群 - SQL Reference(SQL支持和变通方案)
182 0
|
SQL 存储 分布式计算
Apache Tajo:一个运行在YARN上支持SQL的分布式数据仓库
将SQL转化为MapReduce。典型代表是Apache Hive,这种系统的特点是扩展性和容错性好,但性能低下。为了弥补SQL on MapReduce的不足,google提出了Tenzing(见参考资料[3]),与Hive不同,Tenzing充分借鉴了MapReduce和DataBase的优势,首先,它对传统的MapReduce进行了优化(比如Map 可以不写磁盘,Reduce可不必排序等),使其性能更高,采用MapReduce一大优势是使Tenzing具有了很好的扩展性和容错性,Tenzing论文是这样表述的
242 0
Apache Tajo:一个运行在YARN上支持SQL的分布式数据仓库
|
SQL NoSQL Java
“七天玩转支持SQL的海量扩展数据库”训练营圆满结束!
为了更好地将阿里云的数据库技术能力回馈给开发者,和百万开发者共同成长。2021年4月19号-25日,阿里云联合Cassandra商业公司DataStax打造的“七天玩转支持SQL的海量扩展数据库”训练营圆满结营!
“七天玩转支持SQL的海量扩展数据库”训练营圆满结束!
|
SQL 监控 数据可视化
抢先 | 支持sql的Elasticsearch6.3全景概览
1、Elasticsearch6.3 特性概览 1.1、支持Sq 像操作Mysql一样使用Elasticsearch,缩减DSL的学习成本,更多人爱上ES的特性。
146 0
|
SQL Oracle 关系型数据库
SQL标准对schema如何定义?
ISO/IEC 9075-1 SQL标准中将schema定义为描述符的持久命名集合(a persistent, named collection of descriptors),如果你之前对schema的定义疑惑不解,希望看了我的这篇文章会好一些,起码不会更差。 广义上 造成疑惑的另一个原因可能是由于schema这一术语具有如此广泛的含义,因为它在不同的环境下有不同的含义,schema一词源于希腊语skhēma,意思是形态(form),轮廓(figure),形状(shape)或方案(plan)。Schema在心理学中被用来描述组织信息类别及其之间关系的有组织的思维或行为模式。我们在设计一个数
313 0
|
SQL 存储 关系型数据库
【DB吐槽大会】第74期 - PG 不支持SQL维度资源限流
大家好,这里是DB吐槽大会,第74期 - PG 不支持SQL维度资源限流
|
SQL Oracle 关系型数据库
【DB吐槽大会】第49期 - PG 不支持打印慢SQL锁等待信息
大家好,这里是DB吐槽大会,第49期 - PG 不支持打印慢SQL锁等待信息