继续上文"学习使用jdk1.7中内置数据库Derby(一)"
http://128kj.iteye.com/blog/1725848
Derby提供了三个工具脚本:1)sysinfo;2)ij;3)dblook。运行这三个脚本时,如果你没有设置classpath环境变量,这些脚本会自动进行设置。
1) sysinfo
使用sysinfo可以显示你的Java环境信息和Derby的版本信息。使用方法就是在命令行下直接输入:
sysinfo.bat
2) dblook
使用dblook可以将全部或者部分数据库的DDL定义导出到控制台或者文件中。使用方法:
dblook.bat –d <sourceDBUrl> [Options]
例一:
D:\db>dblook -d 'jdbc:derby:d:\db\testdb';
-- 时间戳记:2012-11-15 19:23:29.875
-- 源数据库为:d:\db\testdb
-- 连接 URL 为:jdbc:derby:d:\db\testdb
-- appendLogs: false
-- ----------------------------------------------
-- 表的 DDL 语句
-- ----------------------------------------------
CREATE TABLE "APP"."USER_INFO" ("ID" INTEGER NOT NULL, "NAME" VARCHAR(10) NOT NULL);
dblook 的相关参数介绍:
-d <sourceDBUrl>: 指定数据库连接的完整 URL
-z <schemaName> :以指定生成 DDL 应该受限制的模式。只有具有该模式的数据库对象才能生成其DDL。
-t <tableOne> <tableTwo> ...: 表名 , 可以列出多个,中间以空格分隔
-append: 以防止覆盖输出文件,生成的 dblook 的日志为追加模式。
-verbose 除了将错误消息打印到日志文件外,还将其打印到控制台。如果没有指定此选项,错误将只打印到日志文件。
-o <filename> 指定将生成的 DDL 写入其中的文件名。 如果没有指定,缺省值是控制台。
例二:
D:\db>dblook -d jdbc:derby:d:\db\testdb -t user_info -o f.txt -verbose
输出将发送到文件 f.txt
3) ij
使用ij工具来进行数据库交互,先用连接命令进行连接,连接之后的操作就相当于一般的数据库控制台一样了。可执行SQL脚本,如查询、增删改、创建表等等。
注意要使用ij工具,你必须把下面两个jar文件放到你系统的CLASSPATH中,
%JAVA_HOME%\db\lib\derby.jar
%JAVA_HOME%\db\lib\derbytools.jar
其中,derby.jar包含JDBC驱动,derbytools.jar是ij工具本身。
例三:
D:\db>ij
ij 版本 10.8
ij> connect 'jdbc:derby:d:\db\testdb';
ij> show tables;
已选择 23 行
ij> select * from user_info;
ID |NAME
----------------------
1 |hermit
2 |test
已选择 2 行
ij>
例四:通过如下命令创建数据库,并与数据库创建连接,插入,查询:
D:\db>ij
ij 版本 10.8
ij> connect 'jdbc:derby:firstdb;create=true';
ij> create table firsttable(id int primary key,name varchar(20));
已插入/更新/删除 0 行
ij> insert into firsttable values(1,'happe');
已插入/更新/删除 1 行
ij> select * from firsttable;
ID |NAME
--------------------------------
1 |happe
已选择 1 行
ij> exit;
D:\db>
例五:也可以通过run命令来执行sql文件:
run 'd:\db\mydb.sql';
通过connect命令可以与指定数据库创建连接,通过一个JDBC URL来指定与哪个数据库创建连接。ij命令是不区分大小写的。参数中jdbc:derby是Derby数据库的驱动协议;firstdb是数据库命,由于没有指定路径,数据库将会被创建在当前你命令行下所在的目录下;create=true表示如果数据库不存在,则创建该数据库;“;”是ij命令的终止符。
当数据库创建成功时,Derby会在当前你命令行下所在的目录下创建一个与数据库命一致(这里是firstdb)的目录,其中存放了数据库的文件。 与数据库连接上后,就可以开始执行SQL脚本了最后通过exit;来退出ij工具。
你可以在当前你命令行下所在的目录中找到一个derby.log的日志文件,derby在其中记录的数据库启动、关闭的信息。