Derby 的安装和配置
最后修改于 2020 年 7 月 6 日
在接下来的页面中,我们将展示如何安装 Derby 并根据我们的需要配置 Derby。
我们从 db.apache.org/derby/ 下载最新版本的 Derby。我们创建一个安装目录并将压缩文件解压到此目录。
$ wget http://tux.rainside.sk/apache//db/derby/db-derby-10.13.1.1/db-derby-10.13.1.1-bin.zip
使用 wget
工具,我们下载 Derby 10.13.1 版本。
$ unzip db-derby-10.13.1.1-bin.zip $ cd db-derby-10.13.1.1-bin/
我们解压缩存档并进入该目录。
$ ls bin docs javadoc lib NOTICE test demo index.html KEYS LICENSE RELEASE-NOTES.html
我们列出安装目录的内容。在 bin
子目录中,我们有几个 Derby 工具。docs
目录提供了 Derby 的文档,格式为 HTML 和 PDF。在 lib
子目录中,有几个用于使用 Derby 的 JAR 文件。
Java DB
自从 Java 6 以来,Derby 就包含在 JDK 中。Java DB 是 Apache Derby 的一个受支持的版本,包含与 Apache Derby 相同的二进制文件。
$ ls $JAVA_HOME/db 3RDPARTY bin lib LICENSE NOTICE README-JDK.html RELEASE-NOTES.html
在 JDK 安装目录中,我们有一个名为 db
的子目录,我们在其中找到 Java DB 文件。
在发布说明的“概述”部分,我们读到以下内容:Derby 是一个纯 Java 关系数据库引擎,使用标准 SQL 和 JDBC 作为其 API。
Derby 的功能包括
- 带 JDBC 驱动程序的嵌入式引擎
- 网络服务器
- 网络客户端 JDBC 驱动程序
- 命令行工具:
ij
(SQL 脚本),dblook
(模式转储) 和sysinfo
(系统信息)
环境变量
设置环境变量是可选的。使用环境变量将使我们的生活更轻松。
$ export DERBY_HOME=~/bin/derby $ export PATH=$PATH:~/bin/derby/bin $ export DERBY_OPTS=-Dderby.system.home=/home/janbodnar/.derby
我们将 DERBY_HOME
变量设置为 Derby 安装目录。一些工具可能会使用此变量。然后我们添加一个 bin
子目录到 PATH
变量。这样我们就无需完全指定 Derby 工具的路径。在 DERBY_OPTS
环境变量中,我们可以设置各种与 Derby 或 Java 相关的选项。例如,我们设置 derby.system.home
属性。
$ java -jar $DERBY_HOME/lib/derbyrun.jar sysinfo ------------------ Java Information ------------------ Java Version: 1.8.0_111 Java Vendor: Oracle Corporation Java home: /home/janbodnar/bin/jdk1.8.0_111/jre Java classpath: /home/janbodnar/bin/jdk1.8.0_111/db/lib/derbyrun.jar OS name: Linux OS architecture: amd64 OS version: 4.4.0-66-generic ...
我们使用 derbyrun.jar
文件执行 sysinfo
工具以获取有关 Java 和 Derby 的一些信息。
创建数据库
Derby 没有像 MySQL 或 Oracle 那样的 CREATE DATABASE
语句。我们必须通过创建连接并设置连接属性 create=true
来创建数据库。
$ $DERBY_HOME/bin/ij ij version 10.11 ij>
我们启动 ij
工具。
ij> CONNECT 'jdbc:derby:tmpdb;user=tmpuser;create=true';
在 Derby 系统目录中创建一个 tmpdb
数据库,并建立与新创建数据库的连接。连接以嵌入模式创建。
$ ls ~/.derby/ derby.log testdb tmpdb
数据库在 Derby 系统目录中创建。
ij> CREATE TABLE FRIENDS(ID INT PRIMARY KEY, NAME VARCHAR(25)); 0 rows inserted/updated/deleted ij> INSERT INTO FRIENDS(ID, NAME) VALUES(1, 'Jane'); 1 row inserted/updated/deleted ij> INSERT INTO FRIENDS(ID, NAME) VALUES(2, 'Thomas'); 1 row inserted/updated/deleted ij> INSERT INTO FRIENDS(ID, NAME) VALUES(3, 'Beky'); 1 row inserted/updated/deleted
我们创建一个 FRIENDS
表并向其中添加三行。
ij> SELECT * FROM FRIENDS; ID |NAME ------------------------------------- 1 |Jane 2 |Thomas 3 |Beky 3 rows selected
我们检查数据。
ij> SHOW TABLES IN TMPUSER; TABLE_SCHEM |TABLE_NAME |REMARKS ------------------------------------------------------------------------ TMPUSER |FRIENDS | 1 row selected
当我们创建连接时,我们指定了一个用户名。用户名是创建 FRIENDS
表的数据库模式。
ij> DISCONNECT; ij> SHOW CONNECTIONS; No connections available. ij> EXIT; $
我们断开与 tmpdb
数据库的连接。SHOW CONNECTIONS
语句告知没有打开的连接。我们使用 EXIT
命令退出 ij
工具。
$ rm -rf ~/.derby/tmpdb/
我们从 Derby 系统中删除数据库。Derby 没有 DROP DATABASE
语句。
这是 Derby 教程章节的结尾,在其中我们安装并配置了 Derby。