跳转至

Derby 的安装&配置

原文: http://zetcode.com/db/apachederbytutorial/install/

在接下来的页面中,我们将展示如何安装 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。


我们一直在努力

apachecn/AiLearning

【布客】中文翻译组