注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

让一切都逝去吧

排骨炖泥菜/猪肝炒苹果/鱼籽狗肉汤/狗头薏米汤

 
 
 

日志

 
 

Derby 的基本使用  

2011-09-16 10:44:56|  分类: 数据库 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
      一个示例项目中用到了Derby数据库,这东西用起来还不是很溜,将基本使用方法及碰到一些问题记录下来。
      1. 显示数据库中的所有表
select s.schemaname || '.' || t.tablename 
 from sys.systables t, sys.sysschemas s 
where t.schemaid = s.schemaid 
  and t.tabletype = 'T' 
order by s.schemaname, t.tablename
      sys.systables表中存储了系统中表的信息,类型为'T'的就是用户建立的表,一般没有那么多schema,以上这个查询就不用连接sys.sysschemas了,只查sys.systables表就行了。
      2. 显示表的结构
      describe <table_name>;
      记得要分号结束,记得 show tables 命令是没用的。
      3. Derby的安装
      这里就直接抄录一些内容:
从Apache Derby的官网上下载,下载完成后我们得到db-derby-<version>-bin.zip,解压完成后我们看到目录结构如下:

db-derby-<version>-bin

–bin 可执行脚本的工具,设置运行环境的工具

–demo 官方提供的示例,很好的源码参考资料

–docs 官方文档,纯e文。

–javadoc API文档

–lib 核心的东西,包括derby.jar等

–test Derby的回归测试

官方文档docs中包括了html和pdf两种格式,每种格式又包括了下面几个文档:

Getting Started with Derby 入门的自学手册,主要针对新用户以及有jdbc经验的用户,介绍了dblook,ij,sysinfo三个工具,以及Derby的库和脚本工具。

Derby Developer’s Guide 主要面向开发者介绍了Derby的功能和特性,包括Derby jdbc和sql的细节、发布基于Derby的应用、使用properties配置文件、安全、以及其他高级特性。

Derby Reference Manual 描述了Derby的sql实现,提供了包括jdbc和jta的实现、关键字、系统表、属性和Derby中的SQLException。

Tuning Derby 讲解了Derby在性能方面的技巧,并深入讨论有关Derby性能和调优的话题。

Derby Tools and Utilities Guide 详细讲解了dblook,ij,sysinfo工具的使用,以及如何使用系统工具进行数据导入导出。

Derby Server and Administration Guide Derby服务器和管理员手册主要涉及到服务器配置、数据备份、调试死锁等。

Derby API Reference API手册。

材料都准备好了,可以开始了,我们有下面几种方式使用Derby数据库:

1、使用Derby提供的脚本,在命令行/终端方式

2、使用derbyrun.jar提供的工具

3、使用Java运行Derby数据库

但是无论使用哪种方式使用Derby数据库,都需要设置环境变量(前提已经完成了Java相关的环境变量设置):

1、设置DERBY_HOME环境变量。

2、修改PATH环境变量。

命令:

1、设置DERBY_HOME

UNIX export DERBY_HOME=/opt/Derby_10

Windows set DERBY_HOME=c:\Derby_10

2、修改PATH

UNIX export PATH=”$DERBY_HOME/bin:$PATH”

Windows set PATH=%DERBY_HOME%\bin;%PATH%.
设置好环境变量,先测试一下derby提供的几个工具,首先命令行进入DERBY_HOME\lib目录
java -jar %DERBY_HOME%\lib\derbyrun.jar ij //使用ij工具
java -jar %DERBY_HOME%\lib\derbyrun.jar sysinfo //使用sysinfo工具
java -jar %DERBY_HOME%\lib\derbyrun.jar dblook //使用dblook工具
java -jar %DERBY_HOME%\lib\derbyrun.jar server
看到控制台有derby的相关信息显示,说明derby已经完全安装成功,并且所有的工具已经可以使用了,接着就可以正常使用derby数据库了。

      4.ij工具使用
      ij就像 oracle 中的 sqlplus 了。命令行使用 ij 命令启动工具,然后使用
connect 'jdbc:derby:securityDB;create=true;user=users;password=password;';
命令连接数据库。create=true 指的是如果数据库不存在,则进行创建。上面这个命令则会在命令行当前目录新建一个 securityDB 目录,这个目录里就是Derby数据库的文件。除了第一次连接,一般都不用create=true这个参数,特别连接已存在的数据库。这里连接已有数据库,如果数据库文件不在命令行当前目录,则可以使用绝对路径,如以下命令:
connect 'jdbc:derby:d:/derby/securityDB;user=users;password=password;';
      5. 备用一个sql,查询所有表的所有键,包括主键和外键
  1. select t.tablename,  
  2.        conglomeratename backIdxName,  
  3.        cst.constraintname,  
  4.        cst.type  
  5.   from sys.systables        t,  
  6.        sys.sysconstraints   cst,  
  7.        sys.sysconglomerates cgl,  
  8.        sys.syskeys          sk  
  9.  where isindex = 'TRUE'  
  10.    and cgl.tableid = t.tableid  
  11.    and (sk.constraintid = cst.constraintid and cst.type = 'P' and  
  12.        sk.conglomerateid = cgl.conglomerateid)  
  13.    and t.tableid = cst.tableid  
  14.    and t.tabletype = 'T'  
  15. UNION  
  16. select t.tablename,  
  17.        conglomeratename backIdxName,  
  18.        cst.constraintname,  
  19.        cst.type  
  20.   from sys.systables        t,  
  21.        sys.sysconstraints   cst,  
  22.        sys.sysconglomerates cgl,  
  23.        sys.sysforeignkeys   fk  
  24.  where isindex = 'TRUE'  
  25.    and cgl.tableid = t.tableid  
  26.    and (fk.constraintid = cst.constraintid and cst.type = 'F' and  
  27.        fk.conglomerateid = cgl.conglomerateid)  
  28.    and t.tableid = cst.tableid  
  29.    and t.tabletype = 'T'  
  30.  order by tablename, type 
  评论这张
 
阅读(3729)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017