【引言】
闲来没事,随便乱翻,发现一网站内嵌了个很“生”的数据库。既然路过,那何不进来打个招呼呗。嚯,这一脚踏进来,别有洞天哈。
下面,让我们先练练手最后再来做个小结。
1. 准备驱动
拷贝HSQL数据库的jdbc驱动程序hsqldb-1.8.0.10.jar到该目录,以下为了简便,将文件名中版本号省掉,如采用缺省长文件名,替换下列命令中-cp后面的jar包文件参数即可;
2. 启动服务
在命令行模式下启动HSQL服务器模式:
>java -cp hsqldb.jar org.hsqldb.Server -database.0 db -dbname.0 db
命令中的org.hsqldb.Server -database.0与-dbname.0为固定值,db 为数据库别名,如果该库存在,则打开该库,不存在,则新建并打开。
数据库启动成功如图所示:
3. 运行模式
数据库引擎分4种工作模式:内存In-Memory、独立Standalone、服务器Server、韦伯服务器WebServer,启动方式参数大同小异,本文以第三种为例;
4. 管理HSQL
启动HSQL管理工具,打开命令行窗口,执行下列命令:
>java -cp hsqldb.jar org.hsqldb.util.DatabaseManager
出现connect窗口:
选择引擎Type:HSQL Database Engine Server模式,修改URL:jdbc:hsqldb:hsql://localhost/db,db为步骤二中指定的数据库别名,用户名sa,密码为空,登录。
5. 执行SQL
登录成功后,工作台如图所示,界面简单的像是Demo!左侧为数据库的所有表树图,右上侧为SQL编辑区:
输入SQL语句,点击右侧Execute执行
获得HSQL语法帮助,点击菜单Command ——> CREATE TABLE :
HSQL SELECT语法:
HSQL环境变量:
6. 关闭HSQL
在SQL编辑区输入shutdown命令,单击Execute执行:
服务器端响应如下:
7. 小结
经过一番实战,发现HSQL数据库有如下两个特点:一是“纯而精”,它是一款由HSQL Development Group开发的纯Java数据库,遵循BSD-style许可协议,支持SQL99,SQL2003大部分语法标准;二是“小而轻”,更为重要的是,该数据库体积贼小,
数据库引擎、JDBC驱动与管理工具三合一加起来才600多Kb,JBoss、Kettle3.0及以上、DataX 等大多数工具或中间件默认都支持HSQL。
最后,笔者以为,正因为HSQL的上述特点,它才最适合做嵌入式开发,诸如物联网、小程序、传感器等等场景。或许,在实时数仓、大数据、数据湖、湖仓一体的大背景下,一股“反动”的力量正在落地、生根、发芽……。
2022-10-10笔者于北京
iyft_hws150@sina.com