Derby 的安装&配置
在接下来的页面中,我们将展示如何安装 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
目录以 HTML 和 PDF 格式提供 Derby 的文档。 在lib
子目录中,存在使用 Derby 所需的各种 JAR 文件。
Java 数据库
从 Java 6 开始,DDK 就包含在 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 是使用标准 SQL 和 JDBC 作为其 API 的纯 Java 关系数据库引擎。
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。