Derby数据库的使用
一、 Derby数据库平台的搭建
● JDK 1.6版本及之后的版本为Java平台提供了一个数据库管理系统,简称Derby数据库。
● 连接Derby数据库需要有关的类,这些类以jar文件的形式存的放在Java安装目录的db\lib目录中, 需要把Java安装目录\db\lib,
例如
E:\jdk1.8\db\lib
下的下列三个jar文件:
************************
▲ derby.jar
▲ derbynet.jar
▲ derbyclient.jar
***************************
复制到Java运行环境的扩展中,即将这些jar文件存放在JDK安装目录的\jre\lib\ext目录中.
例如,复制到:E:\jdk1.8\jre\lib\ext 目录中
如果jdk中没有Derby的jar文件,这里给出一个压缩文件的百度网盘链接:
链接:https://pan.baidu.com/s/1lC4z0w8CWrHpRSX340NnJQ
提取码:znx9
解压后找到derby.jar

二 、配置系统变量path
★ 为了在命令行窗口操作Derby数据库,需要使用Java安装目录中db\bin下的一些命令。
★ 可以将db\bin作为系统环境变量path的一个值,以便随时在命令行窗口中使用db\bin中的命令。
(1)对于Windows 10/Windows 7,用鼠标右键单击“计算机”/“我的电脑”
(2)在弹出的快捷菜单中选择“属性”命令弹出“系统特性”对话框,再单击该对话框中的“高级系统设置”/“高级选项”。
(3)然后单击按钮“环境变量”,添加系统环境变量。如果曾经设置过环境变量path,可单击该变量进行编辑操作,将需要的值加入即可。
在系统变量中新建一个变量,变量名为DERBY_HOME ,变量值为D:\java\db-derby-10.14.2.0-bin(变量值就是我们刚才解压过的derby文件夹)。

接着在Path系统变量中加入:%DERBY_HOME%\bin

三 、在命令行连接内置derby数据库
内置Derby数据库的特点是应用程序必须和该Derby数据库驻留在相同计算机上(内置Derby数据库也是相对后面的网络Derby数据库而言的),并且在当前计算机中,同一时刻不能有两个Java程序访问同一个内置数据库。
步骤如下:
*********************************************
1.启动ij环境
●所谓ij环境,就是在该环境下可以使用ij工具来连接数据库,在数据库库中创建表、进行诸如查询、增删改等操作。
●执行ij.bat批处理文件,启动ij环境(ij.bat是Java安装目录db\bin中的一个批处理文件,为了能在命令行窗口的输入行处于任何目录中时都可以执行ij.bat批处理文件需将db\bin作为系统环境变量path的一个值)。
●假设连接D:\2000目录中名字是dog的内置Derby数据库,那么首先打开命令行窗口,并进入D:\2000目录,然后执行ij.bat批处理文件。
●退出ij环境,可以在命令行窗口键入:exit;注意,不要忘记exit后面的分号。也可以 【Ctrl+C】退出ij环境。
进入ij环境环境后,就可以使用ij提供的各种ij命令,比如连接数据库、建立表等命令(ij命令不区分大小写)。
*********************************************
2.连接内置derby数据库
ij命令如下:
connect 'jdbc:derby:数据库;create=true|false';
● create=true,如果数据库不存在,那么就在当前目录,即启动ij的当前目录(比如D:\2000)中创建数据库,并与所创建的数据库建立连接。如果数据库存在,那么不再创建数据库,直接与存在的数据库建立连接。
● create=false,如果数据库存在,就直接与存在的数据库建立连接,如果数据库不存在,不再创建数据库,直接放弃连接。
例如:
connect 'jdbc:derby:dog;create=true';
连接数据库时,也可以指定数据库所在的目录,例如,连接D:\00下名字是cat的数据库:
connect 'jdbc:derby:D:/00/cat;create=true';

四、 操作表
★ 和数据库建立连接以后,就可以使用ij命令(这些ij命令就是标准的SQL语句)在数据库库中进行创建表、向表中插入记录、删除表中的记录、查询表中的记录等操作。。
1. 在数据库中创建表
创建表的ij命令如下:
●create table 表名(字段1 数据类型, 字段2 字段2属性...字段n 字段n属性);
我们准备在dog数据库中创建名字为mess的表。该表的字段(属性)为:
◆number(文本,主键)
◆name(文本)
◆birth(日期)
◆price(数字,双精度)。
create table mess
(number char(10) primary key,name varchar(20),birth date, price double);

2. 向表中插入记录(行)
创建表后,就可以使用ij命令向表中插入记录、使用ij命令查询记录。向表中插入记录的ij命令如下(就是标准的SQL语句):
●insert into 表名 values(字段1值,字段2值,…字段n值);
例如:
insert into mess values('','藏獒','2015-1-1',18576.98);
insert into mess values('','哈巴','2015-6-19',6576);
insert into mess values('','牧养犬','2015-10-10',9737.9);

3. 查询表中的记录
记录带着全部字段值:
● select * from 表名;
例如:
select * from mess;

带着部分字段值:
● select 字段m,...字段n from 表名;
例如:
select name,price from mess;

4. 更新表中的记录
● update <表名> set <字段名> = 新值 where <条件子句>
例如:
update mess set price = 2999 where number='';
update mess set name = '牧养狗' where name='哈巴';
update mess set name = '中档狗' where price<2000 And price>=1000;

5.删除表中的记录
● delete from <表名> where <条件子句>
五、 网络derby数据库
注意网络Derby数据库需要导入的jar包是derbyclient.jar

网络derby数据库允许网络上其他计算机中的Java程序通过网络访问该网络derby数据库。
步骤:
1.启动Derby数据库服务器
在服务器端的命令行窗口执行startNetworkServer.bat启动Derby数据库服务器。
2.连接网络derby数据库
在命令行连接:
connect 'jdbc:derby://数据库服务器IP:1527/数据库名;create=true|false';
例如,
connect 'jdbc:derby://127.0.0.1:1527//student;create=true';
★如果student数据库不存在,那么上述ij命令就会在服务器端建立student数据库。建立student数据库后,在启动Derby数据库服务器的目录(比如D:\00)下可以看到一个名字是student的文件夹,Derby数据库以文件夹的形式存放,而不是以文件形式存放。
★客户端和网络Derby数据库建立连接后,就可以使用ij命令在网络Derby数据库中创建表等操作(这些操作与操作内置Derby数据库完全相同)。
★以下使用ij命令在网络Derby数据库student中创建了名字是mingdan的表,该表有2个字段:xuehao和name,字段名和类型如下
☆ xuehao int primary key not null,
☆ name varchar(32)
(1)
connect 'jdbc:derby://127.0.0.1:1527//student;create=true';
(2)
create table mingdan
(xuehao int primary key not null,name varchar(30));
(3)
insert into mingdan values(001,'李奎魁');
insert into mingdan values(2,'翠花花');
六 、Derby数据库常用的基本数据类型
★ smallint 取值范围 -2^15~2^15-1。例如,age smallint,其中age是字段名。
★ int 取值范围 -2^31~2^31-1。例如,spead int 。
★ bigint 取值范围 -2^63~2^63-1。例如,price int。
★ real或float 取值范围 -3.402x10^+38~3.402x10+38。例如,length real。
★ double 取值范围 -1.79769x10+308~1.79769x10+308。例如, weight double。
★ decimal 小数点可精确到31位。例如,height decimal(12,6)。
★ Decimal(n,m)表示数值中共有n位数,其中整数n-m位, 小数m位。
例:decimal(10,6),数值中共有10位数,其中整数占4位,小数占6位。
例:decimal(2,1),插入“1.23”或“1.2345...”会自动四舍五入成“1.2”;
插入“2”会自动补成“2.0”,以确保2位的有效长度,其中包含1位小数。
★ char 最大长度254。例如, name char(20)。
★ varchar 最大长度32672。例如,content varchar(265)。
★ time 取值范围00:00:00~24:00:00。例如,sleep time。
★ date 取值范围0001-01-01 ~9999-12-31。例如,birth date。
★ timestamp 取值范围是date和time的合集。例如,start timestamp。
例如:
(1)
connect 'jdbc:derby:play;create=true';
(2)
create table time_list
(shijian time ,name char(18),song char(200));
(3)
insert into time_list values( '20:12:56','刘翠花','月半小夜曲')
七、 JDBC操作数据库
我们经常使用JDBC进行如下的操作。
● 与一个数据库建立连接。
● 向已连接的数据库发送SQL语句。
● 处理SQL语句返回的结果。
1. 连接内置Derby数据库
步骤
(1)加载Derby数据库驱动程序
try{ Class.forName("org.apache.derby.jdbc.EmbeddedDriver");//加载驱动
}
catch(Exception e) {
System.out.print(e);
}
(2)连接内置Derby数据库
Connection con = DriverManager.getConnection("jdbc:derby:数据库;create=true|false");
例如,
Connection con = DriverManager.getConnection("jdbc:derby:boy;create=true");
以下例1是一个简单的Java应用程序,该程序连接到内置Derby数据库dog
import java.sql.*;
public class Day1_1{
public static void main(String args[]) {
Connection con;
Statement sql;
ResultSet rs;
try{ Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
}
catch(Exception e) {
System.out.print(e);
}
try {
con=DriverManager.getConnection("jdbc:derby:dog;create=true");
sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM mess ");
while(rs.next()) {
String number=rs.getString(1);
String name=rs.getString(2);
Date date=rs.getDate(3);
double price=rs.getDouble("price");
System.out.print(number+"|");
System.out.print(name+"|");
System.out.print(date.toString()+"|");
System.out.println(price+"|");
}
con.close();
}
catch(SQLException e) {
System.out.println(e);
}
}
}
2. 连接网络Derby数据库
★首先服务器端在它的命令行窗口执行startNetworkServer.bat启动Derby数据库服务器。
●客户端的步骤
(1)加载Derby数据库驱动程序
try{ Class.forName("org.apache.derby.jdbc.ClientDriver");//加载驱动
}
catch(Exception e) {
System.out.print(e);
}
(2)连接网络Derby数据库
Connection con = DriverManager.getConnection ("jdbc:derby://数据库服务器IP:1527/数据库;create=true|false");
例如,
Connection con = DriverManager.getConnection("jdbc:derby://127.0.0.1:1527//student;create=true");
在运行下面的例2之前,首先在服务器端计算机上打开命令行窗口,并进入D:\00目录,执行startNetworkServer启动Derby数据库服务器启动(因为例子2要访问的网络Derby数据库位于服务器所在计算机的D:\00目录中)
import java.sql.*;
public class Day1_2 {
public static void main(String args[]) {
Connection con;
Statement sql;
ResultSet rs;
try{ Class.forName("org.apache.derby.jdbc.ClientDriver");
}
catch(Exception e) {
System.out.print(e);
}
try {
String uri="jdbc:derby://127.0.0.1:1527//student;create=true";
con=DriverManager.getConnection(uri);//和网络Derby数据库student建立连接
sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM mingdan");
while(rs.next()) {
String number=rs.getString(1);
String name=rs.getString(2);
System.out.print(number+"|");
System.out.println(name+"|");
}
con.close();
}
catch(SQLException e) {
System.out.println(e);
}
}
}
Derby数据库的使用的更多相关文章
- Powerdesigner自定义DBMS(以derby数据库为例)
Powerdesigner自定义DBMS Powerdesigner以下简称PD.PD默认支持的DBMS不够用时,我们就需要自己定义了.以apache derby数据库为例.1.DBMS的定义文件PD ...
- Apache Derby数据库 安装、知识点
Apache Derby数据库 安装: 下载路径:http://archive.apache.org/dist/db/derby/ 出处:http://www.yiibai.com/hive/hive ...
- 使用 Java DB (Derby) 数据库
使用 Java DB (Derby) 数据库 https://netbeans.org/kb/docs/ide/java-db_zh_CN.html 本文档说明了如何在 NetBeans IDE 中设 ...
- 润乾报表与DERBY数据库的创建连接详解
1. 问题概述 1.Derby数据库的创建过程 2.润乾报表连接Derby数据库展现数据 概述: Derby是Apache Software Foundation (ASF)的一个的孵化器项目. ...
- derby数据库windows自带的客户端
本示例演示用windows自带的ij来操作derby数据库,包括建库,建表,插入数据,查询数据 首先要配置环境变量: 其次打开cmd输入如下图所示的命令: java代码如下: package com. ...
- derby数据库的一些总结
本文主要是针对在osgi开发过程中的一些问题进行总结,其中dbcp数据源的配置是在SpringDM下配置的.一,derby数据源的内嵌模式 该模式的主要应用是嵌入式程序,因为其小巧,且不 ...
- JAVA连接Derby数据库
其实,JAVA连接Derby数据库也很简单,和一般的数据库操作一样:1.加载驱动2.获取连接3.进行数据库操作4.记得关闭连接 示例如下: import java.sql.ResultSet; imp ...
- Derby 数据库 客户端 ij使用
Derby是开源的.嵌入式的Java数据库程序,ij是Derby提供的客户端工具,相当于其他数据库提供的sqlplus工具. ij是纯Java的程序,不用安装,使用起来就像运行普通的Java应用程序一 ...
- derby数据库
derby数据库 https://www.cnblogs.com/zuzZ/p/8107915.html Derby数据库的使用 https://www.cnblogs.com/wkfvawl/p/1 ...
- derby数据库的了解及使用
derby数据库 一.简介 Derby 易于管理.当嵌入到客户机应用程序中时, Derby 系统不需要任何管理干预. Derby 是可嵌入的.应用程序可以将数据库管理系统( Database Mana ...
随机推荐
- 配置window下python3环境
功能介绍 整理生信小知识库,一些技巧一些知识. 昨天 以下配置环境基于window操作系统,安装python3版本为例,推荐基础版配置. ! METHOD 1 (基础版) 官网下载对应电脑版本的p ...
- springboot +Thymeleaf+UEditor整合记录
1,ueditor官网下载:https://ueditor.baidu.com/website/download.html 下载相应的工具包和源码,ps:源码放到工程中 2,解压放到放到项目中,sp ...
- 3.redis认证
redis认证方法 1.redis.conf requirepass PASSWORD 2.redis-cli auth PASSWORD redis清空数据库 flushdb //清空当前数据库 f ...
- int a;和 int &a;的区别
int a的意思是定义一个变量a int &a意思是定义一个引用 //引用相当于指针再取值 他和被引用的变量都是表示同一块内存 引用就是给变量取别名 int b ;int &a=b; ...
- 小白学习之pytorch框架(2)-动手学深度学习(begin-random.shuffle()、torch.index_select()、nn.Module、nn.Sequential())
在这向大家推荐一本书-花书-动手学深度学习pytorch版,原书用的深度学习框架是MXNet,这个框架经过Gluon重新再封装,使用风格非常接近pytorch,但是由于pytorch越来越火,个人又比 ...
- python学习Day08--文件操作
[主要内容] 文件操作: 1. r 2. w 3. a 4. r+ 读写模式. 需要移动光标进行反复读写 5. w+ 6. a+ 7. b bytes 读写操作的是字节. 用在非文本上 8. seek ...
- JS 特效三大系列总结
一. offset系列 1. offset系列的5个属性 1. offsetLeft : 用于获取元素到最近的定位父盒子的左侧距离 * 计算方式: 当前元素的左边框的左侧到定位父盒子的左边框右侧 * ...
- 追踪tracking
追踪 追踪部分的主要思路是在当前帧和(局部)地图之间寻找尽可能多的对应关系,来优化当前帧的位姿. 作者在追踪这部分主要用了几种模型:运动模型(Tracking with motion model).关 ...
- Java使用Thrift,Thrift结构体定义
1.Thrift定义文件,Thrift常见的数据类型 1.基本类型(括号内为对应的Java类型): bool(boolean): 布尔类型(TRUE or FALSE) byte(byte): 8位带 ...
- [转载]Python方法绑定——Unbound/Bound method object的一些梳理
本篇主要总结Python中绑定方法对象(Bound method object)和未绑定方法对象(Unboud method object)的区别和联系.主要目的是分清楚这两个极容易混淆的概念,顺便将 ...