blob: bec642a2151644576ec9e864db1a60c82a2dc440 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
Copyright (c) 2009, 2010, 2011, Oracle and/or its affiliates. All rights reserved.
-->
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="description" content="This introductory tutorial demonstrates
how to work with the Java DB (Derby) database in NetBeans IDE">
<meta name="keywords" content="NetBeans, IDE, integrated development environment,
database, derby, Java, relational database management system, RDBMS, Apache,
transaction processing, SQL, JDBC">
<link rel="stylesheet" type="text/css" href="../../../netbeans.css">
<script type="text/javascript" src="../../../images_www/js/window_opener.js"></script>
<title>使用 Java DB (Derby) 数据库 - NetBeans IDE 教程</title>
</head>
<body>
<h1>使用 Java DB (Derby) 数据库</h1>
<p>本文档说明了如何在 NetBeans IDE 中设置与 <a href="http://www.oracle.com/technetwork/java/javadb/overview/index.html">Java DB</a> 数据库的连接。在建立连接之后,即可开始在 IDE 中使用该数据库,您可以执行的操作包括创建表、用数据填充表、运行 SQL 语句和查询等。</p>
<p>Java DB 数据库是 Sun 支持的 <a href="http://db.apache.org/derby/">Apache Derby</a> 版本。Java DB 是完全事务型、安全且基于标准的数据库服务器,它全部采用 Java 编写,并且完全支持 SQL、JDBC API 和 Java EE 技术。Java DB 数据库与 <a href="http://glassfish.dev.java.net/">GlassFish</a> 应用服务器打包在一起,也包含在 <a href="http://download.oracle.com/javase/6/">JDK 6</a> 中。有关 Java DB 数据库的详细信息,请查阅<a href="http://www.oracle.com/technetwork/java/javadb/documentation/index.html">正式文档</a></p>
<p><strong>目录</strong></p>
<img alt="此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0" class="stamp" src="../../../images_www/articles/73/netbeans-stamp-80-74-73.png" title="此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0">
<ul class="toc">
<li><a href="#configuring">配置数据库</a></li>
<li><a href="#registering">在 NetBeans IDE 中注册数据库</a></li>
<li><a href="#starting">启动服务器并创建数据库</a></li>
<li><a href="#connecting">连接到数据库</a></li>
<li><a href="#creating">创建表</a></li>
<li><a href="#adding">添加表数据</a></li>
<li><a href="#deleting">删除表</a></li>
<li><a href="#using">使用外部 SQL 脚本</a></li>
<li><a href="#recreating">重新创建来自其他数据库的表</a></li>
<li><a href="#seeAlso">另请参见</a></li>
</ul>
<p><strong>要学习本教程,您需要具备以下软件和资源。</strong></p>
<table>
<tbody>
<tr>
<th class="tblheader" scope="col">软件或资源</th>
<th class="tblheader" scope="col">要求的版本</th>
</tr>
<tr>
<td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">NetBeans IDE</a></td>
<td class="tbltd1">7.2、7.3、7.4、8.0、Java EE</td>
</tr>
<tr>
<td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 开发工具包 (JDK)</a></td>
<td class="tbltd1">版本 7 或 8</td>
</tr>
<tr>
<td class="tbltd1">Java DB</td>
<td class="tbltd1">版本 10.4.x、10.5.x</td>
</tr>
</tbody>
</table>
<p><strong class="notes">注:</strong></p>
<ul>
<li>Java DB 是在安装 JDK 7 或 JDK 8 时安装的(在 Mac OS X 上除外)。如果使用的是 Mac OS X,则可以手动下载并安装 <a href="http://www.oracle.com/technetwork/java/javadb/downloads/index.html">Java DB</a>,也可以使用通过 Java EE 版的 NetBeans IDE 安装程序安装的 Java DB。</li>
</ul>
<a name="configuring"></a>
<h2>配置数据库</h2>
<p>如果您在 NetBeans IDE 安装中注册了 GlassFish Server,则将自动注册 Java DB。因此,可以向下跳转至<a href="#starting">启动服务器并创建数据库</a></p>
<p>如果您单独下载了 GlassFish Server,并需要获取有关在 NetBeans IDE 中对其进行注册的帮助,请参见 IDE 的“帮助目录”(F1 键)中的<strong>注册 GlassFish Server 实例</strong></p>
<p>如果仅下载了 Java DB 本身,请执行以下步骤。</p>
<ol>
<li>运行自解压文件。将在与该文件相同的位置创建一个名为 "javadb" 的文件夹。如果仅下载了 Java DB,并且希望将该数据库服务器放在与其解压缩位置不同的位置中,现在应重新对其定位。</li>
<li>在系统上,创建一个新目录,作为数据库服务器的各实例的主目录。例如,可以在 Java DB 根目录 (javadb) 或其他任意位置创建此文件夹。</li>
</ol>
<p>在继续执行下一步操作之前,应了解 Java DB 根目录的各个组成部分,这一点很重要:</p>
<ul>
<li><tt>demo</tt> 子目录包含演示程序。</li>
<li><tt>bin</tt> 子目录包含用于执行实用程序和设置环境的脚本。</li>
<li><tt>javadoc</tt> 子目录包含通过源代码注释生成的 API 文档。</li>
<li><tt>docs</tt> 子目录包含 Java DB 文档。</li>
<li><tt>lib</tt> 子目录包含 Java DB jar 文件。</li>
</ul>
<a name="registering"></a>
<h2>在 NetBeans IDE 中注册数据库</h2>
<p>配置了数据库之后,执行以下步骤在 IDE 中注册 Java DB。</p>
<ol>
<li>在 "Services"(服务)窗口中,右键单击 "Java DB Database"(Java DB 数据库)节点,然后选择 "Properties"(属性),以打开 "Java DB Settings"(Java DB 设置)对话框。</li>
<li>在 "Java DB Installation"(Java DB 安装)文本字段中,输入在上一步中指定的 Java DB 根目录 (javadb) 的路径。</li>
<li>对于 "Database Location"(数据库位置),请使用默认位置(如果已提供位置)。单击 "OK"(确定)。
<p>例如,在 Windows 计算机上,默认位置可能类似于 <tt>C:\Documents and Settings\username\.netbeans-derby</tt></p>
<img alt="&amp;quot;Java DB settings&amp;quot;(Java DB 设置)对话框" class="margin-around b-all" src="../../../images_www/articles/72/ide/java-db/javadb-props.png" title="Java DB 服务器和数据库的默认设置示例">
<p class="notes"><strong>注:</strong>如果 "Database Location"(数据库位置)字段为空,将需要设置数据库所在目录的路径。将需要为数据库创建目录(如果不存在)。</p>
</li>
</ol>
<a name="starting"></a>
<h2>启动服务器并创建数据库</h2>
<p>在 "Services"(服务)窗口中右键单击 "Java DB" 节点时,将显示 Java DB 数据库菜单选项。通过这些上下文菜单项,可以启动和停止数据库服务器、创建新的数据库实例,以及在 IDE 中注册数据库服务器(如以上步骤所示)。要启动数据库服务器,请执行以下操作:</p>
<ol>
<li>在 "Services"(服务)窗口中,右键单击 "Java DB" 节点,然后选择 "Start Server"(启动服务器)。请注意 "Output"(输出)窗口中的以下输出内容,该内容指示服务器已经启动:<br> <img alt="在启动数据库服务器之后,将显示 &amp;quot;Output&amp;quot;(输出)窗口" class="margin-around b-all" src="../../../images_www/articles/72/ide/java-db/output-start-db.png">
</li>
<li>右键单击 "Java DB" 节点,然后选择 "Create Database"(创建数据库),以打开 "Create Java DB Database"(创建 Java DB 数据库)对话框。</li>
<li>键入 <tt>contact</tt> 作为数据库名称。</li>
<li>键入 <tt>nbuser</tt> 作为用户名和口令。单击 "OK"(确定)。<br> <img alt="&amp;quot;Create Java DB Database&amp;quot;(创建 Java DB 数据库)对话框" class="margin-around b-all" src="../../../images_www/articles/72/ide/java-db/javadb-createdb.png">
<p class="notes"><strong>注:</strong>"Database Location"(数据库位置)是从 GlassFish 安装 Java DB 期间设置的默认位置。如果单独安装了 Java DB,则此位置可能会有所不同。</p>
</li>
</ol>
<p>在创建数据库之后,如果在 "Services"(服务)窗口中展开 "Databases"(数据库)节点,您可以看到 IDE 已创建数据库连接,并且该数据库已添加到 "Java DB" 节点下的列表中。</p>
<a name="connecting"></a>
<h2>连接到数据库</h2>
<p>到目前为止,已在 IDE 中成功启动了数据库服务器并创建了一个名为 <tt>contact</tt> 的数据库实例。在 IDE 的 "Services"(服务)窗口中,可以对数据库结构执行以下常见任务。</p>
<ul>
<li>创建、删除和修改表</li>
<li>用数据填充表</li>
<li>查看表格数据</li>
<li>执行 SQL 语句和查询</li>
</ul>
<p>要开始使用 <tt>contact</tt> 数据库,需要创建到该数据库的连接。要连接至 <tt>contact</tt> 数据库,请执行以下步骤。</p>
<ol>
<li>在 "Services"(服务)窗口中展开 "Databases"(数据库)节点,然后找到新数据库和数据库连接节点。
<p>数据库连接节点 (<img alt="&amp;quot;connection node&amp;quot;(连接节点)图标" src="../../../images_www/articles/72/ide/java-db/connection-node-icon.png">) 显示在 "Databases"(数据库)节点下。数据库名称显示在 "Java DB" 节点下。</p>
<img alt="&amp;quot;Services&amp;quot;(服务)窗口中的 contact 数据库" class="margin-around b-all" src="../../../images_www/articles/72/ide/java-db/services-window.png"><br>
<p class="notes"><strong>注:</strong>您还将看到作为默认数据库方案的 <code>sample [app on APP]</code> 数据库连接。</p>
<li><p> 右键单击 <strong>contact</strong> 数据库连接节点 (<tt>jdbc:derby://localhost:1527/contact [nbuser on NBUSER]</tt>),然后选择 "Connect"(连接)。</p>
"connection node"(连接节点)图标将完全显示出来 (<img alt="&amp;quot;connection node&amp;quot;(连接节点)图标" src="../../../images_www/articles/72/ide/java-db/connection-node-icon.png">),这表示连接成功。 </li>
<li>为数据库创建适当的显示名称,方法是右键单击数据库连接节点 (<tt>jdbc:derby://localhost:1527/contact [nbuser on NBUSER]</tt>),然后选择 "Rename"(重命名)。在文本字段中键入 <tt>Contact DB</tt>,然后单击 "OK"(确定)。</li>
</ol>
<a name="creating"></a>
<h2>创建表</h2>
<p>刚创建的 <tt>contact</tt> 数据库当前为空。该数据库尚未包含任何表或数据。在 NetBeans IDE 中,可以通过下列任一方法添加数据库表:使用 "Create Table"(创建表)对话框,或输入 SQL 语句并从 SQL 编辑器中直接运行该语句。要了解这两种方法的具体操作步骤,请参见以下部分:</p>
<ul>
<li><a href="#createTable">使用 "Create Table"(创建表)对话框</a></li>
<li><a href="#sqlEditor">使用 SQL 编辑器</a></li>
</ul>
<div class="indent">
<a name="createTable"></a>
<h3>使用 "Create Table"(创建表)对话框</h3>
<ol>
<li>
<p>展开 <tt>Contact DB</tt> 连接节点,您会看到其中有若干方案子节点。app 方案是适用于本教程的唯一方案。右键单击 APP 节点,然后选择 "Set as Default Schema."(设置为默认方案)。</li>
<li>展开 APP 节点,请注意,该节点下面有三个子文件夹:"Tables"(表)、"Views"(视图)和 "Procedures"(过程)。右键单击 "Tables"(表)节点,然后选择 "Create Table"(创建表)以打开 "Create Table"(创建表)对话框。</li>
<li>在 "Table Name"(表名称)文本字段中,键入 <tt>FRIENDS</tt></li>
<li>单击 "Add Column"(添加列)。随即出现 "Add Column"(添加列)对话框。 </li>
<li>在列的 "Name"(名称)中,输入 <tt>id</tt>。对于数据 "Type"(类型),从下拉列表中选择 <tt>INTEGER</tt></li>
<li>在 "Constraints"(约束)下,选中 "Primary Key"(主键)复选框以将此列指定为表的主键。关系数据库中的所有表都必须包含主键。请注意,在选中 "Primary Key"(主键)复选框时,还将会自动选中 "Index"(索引)和 "Unique"(唯一)复选框,而 "Null"(空值)复选框则会取消选中。这是因为主键用于标识数据库中的唯一行,并且默认情况下用作表索引。由于必须标识所有行,因此主键不能包含<tt></tt>值。<br> <img alt="向表添加列" class="margin-around b-all" src="../../../images_www/articles/72/ide/java-db/add-column.png"></li>
<li>接下来,重复执行此过程,以便指定下表中所示的字段:</li>
<li>
<table class="margin-around">
<tr>
<th class="tblheader" scope="col">Key(键)</th>
<th class="tblheader" scope="col">Index(索引)</th>
<th class="tblheader" scope="col">Null(空值)</th>
<th class="tblheader" scope="col">Unique(唯一)</th>
<th class="tblheader" scope="col">Column Name(列名)</th>
<th class="tblheader" scope="col">Data Type(数据类型)</th>
<th class="tblheader" scope="col">Size(大小)</th>
</tr>
<tr>
<td class="tbltd1">[选中]</td>
<td class="tbltd1">[选中]</td>
<td class="tbltd1"></td>
<td class="tbltd1">[选中]</td>
<td class="tbltd1">id</td>
<td class="tbltd1">INTEGER</td>
<td class="tbltd1">0</td>
</tr>
<tr>
<td class="tbltd1"></td>
<td class="tbltd1"></td>
<td class="tbltd1">[选中]</td>
<td class="tbltd1"></td>
<td class="tbltd1">firstName</td>
<td class="tbltd1">VARCHAR</td>
<td class="tbltd1">20</td>
</tr>
<tr>
<td class="tbltd1"></td>
<td class="tbltd1"></td>
<td class="tbltd1">[选中]</td>
<td class="tbltd1"></td>
<td class="tbltd1">lastName</td>
<td class="tbltd1">VARCHAR</td>
<td class="tbltd1">20</td>
</tr>
<tr>
<td class="tbltd1"></td>
<td class="tbltd1"></td>
<td class="tbltd1">[选中]</td>
<td class="tbltd1"></td>
<td class="tbltd1">nickName</td>
<td class="tbltd1">VARCHAR</td>
<td class="tbltd1">30</td>
</tr>
<tr>
<td class="tbltd1"></td>
<td class="tbltd1"></td>
<td class="tbltd1">[选中]</td>
<td class="tbltd1"></td>
<td class="tbltd1">friendSince</td>
<td class="tbltd1">DATE</td>
<td class="tbltd1">0</td>
</tr>
<tr>
<td class="tbltd1"></td>
<td class="tbltd1"></td>
<td class="tbltd1">[选中]</td>
<td class="tbltd1"></td>
<td class="tbltd1">email</td>
<td class="tbltd1">VARCHAR</td>
<td class="tbltd1">60</td>
</tr>
</table>
<p>您将创建一个名为 <tt>FRIENDS</tt> 的表,其中为每条联系人记录包含以下数据:</p>
<ul>
<li><strong>名字</strong></li>
<li><strong>姓氏</strong></li>
<li><strong>昵称</strong></li>
<li><strong>交友开始日期</strong></li>
<li><strong>电子邮件地址</strong></li>
</ul>
<img alt="包含联系人表的所选字段的 &amp;quot;Create Table&amp;quot;(创建表)对话框" class="margin-around b-all" src="../../../images_www/articles/72/ide/java-db/create-table-friends.png"></li>
<li><p>在确保 "Create Table"(创建表)对话框包含与上图所示相同的内容后,单击 "OK"(确定)。IDE 会在数据库中生成 <tt>FRIENDS</tt> 表,并且您可以看到 "Tables"(表)节点下显示一个新的 <tt>FRIENDS</tt> 表节点 (<img alt="&amp;quot;table node&amp;quot;(表节点)图标" src="../../../images_www/articles/72/ide/java-db/table-node.png">)。在表节点下将列出从主键 (<img alt="&amp;quot;primary key node&amp;quot;(主键节点)图标" src="../../../images_www/articles/72/ide/java-db/primary-key-icon.png">) 开始的各个列 (字段)。</p>
<img alt="显示在 &amp;quot;Services&amp;quot;(服务)窗口中的 FRIENDS 表" class="margin-around b-all" src="../../../images_www/articles/72/ide/java-db/friends-table.png"></li>
</ol>
<a name="sqlEditor"></a>
<h3>使用 SQL 编辑器:</h3>
<ol>
<li>在 "Service"(服务)窗口中,右键单击 <tt>Contact DB</tt> 连接节点或该节点下的 "Tables"(表)节点,然后选择 "Execute Command"(执行命令)。会在 SQL 编辑器的主窗口中打开一个空画布。</li>
<li>在 SQL 编辑器中输入以下查询。这是将要创建的 COLLEAGUES 表的表定义:
<pre class="examplecode">CREATE TABLE &quot;COLLEAGUES&quot; (
&quot;ID&quot; INTEGER not null primary key,
&quot;FIRSTNAME&quot; VARCHAR(30),
&quot;LASTNAME&quot; VARCHAR(30),
&quot;TITLE&quot; VARCHAR(10),
&quot;DEPARTMENT&quot; VARCHAR(20),
&quot;EMAIL&quot; VARCHAR(60)
);</pre>
<p class="notes"><strong>请注:</strong>SQL 编辑器中形成的语句和查询将以结构化查询语言进行解析。SQL 遵循严格的语法规则,在 IDE 的编辑器中工作时应先熟悉一下这些规则。根据不同的数据库管理系统,SQL 语法也会有所不同。有关详细的准则,请参见《<a href="http://www.oracle.com/technetwork/java/javadb/documentation/index.html">JavaDB 参考手册</a>》。
</p></li>
<li>单击编辑器顶部任务栏中的 "Run SQL"(运行 SQL)(<img alt="&amp;quot;Run SQL&amp;quot;(运行 SQL)按钮" src="../../../images_www/articles/72/ide/java-db/run-sql-button.png">) 按钮(Ctrl-Shift-E 组合键)以执行查询。在 "Output"(输出)窗口(Ctrl-4 组合键)中,将显示一条消息,指示已成功执行该语句。<br> <img alt="&amp;quot;Output&amp;quot;(输出)窗口指示成功执行" class="margin-around b-all" src="../../../images_www/articles/72/ide/java-db/run-query.png"></li>
<li>要验证更改,请在 "Services"(服务)窗口中右键单击 <tt>Contact DB</tt> 连接节点,然后选择 "Refresh"(刷新)。此操作会将运行时 UI 组件更新为指定数据库的当前状态。当从 NetBeans IDE 中的 SQL 编辑器运行查询时,必须执行此步骤。您会看到,现在新的 COLLEAGUES 表节点 (<img alt="&amp;quot;table node&amp;quot;(表节点)图标" src="../../../images_www/articles/72/ide/java-db/table-node.png">) 显示在 "Services"(服务)窗口中的 "Tables"(表)下。</li>
</ol>
</div>
<a name="adding"></a>
<h2>添加表数据</h2>
<p>现在,您已在 <tt>contact</tt> 数据库中创建了一个或多个表,接下来可以开始用数据填充表。您可以使用多种方法向表中添加记录。</p>
<ul>
<li>在 SQL 编辑器中<a href="#sqlstatement">编写 SQL 句</a>,为表方案中的每个字段提供值。 </li>
<li><a href="#usesqleditor">使用 SQL 编辑器</a>将记录添加到表中。</li>
<li><a href="#using">使用外部 SQL 脚本</a>将记录导入到表中。 </li>
</ul>
<p>阅读下节,了解如何使用用数据填充 <tt>FRIENDS</tt> 表的所有方法。 </p>
<h3><a name="sqlstatement"></a>运行 SQL 语句 </h3>
<ol>
<li>在 "Services"(服务)窗口中展开 <tt>Contact DB</tt> 节点下的 "Tables"(表),右键单击 <tt>FRIENDS</tt> 表,然后选择 "Execute Command"(执行命令)以打开 "SQL Editor"(SQL 编辑器)窗口。</li>
<li>在 SQL 编辑器中,输入以下语句。
<pre class="examplecode">INSERT INTO APP.FRIENDS VALUES (1,'Theodore','Bagwell','T-Bag','2004-12-25','tbag@foxriver.com')</pre>
<p class="tips">键入时可以使用 SQL 编辑器代码完成。</p>
</li>
<li>在 SQL 编辑器中单击鼠标右键,然后选择 "Run Statement"(运行语句)。"Output"(输出)窗口将显示一条消息,指示已成功执行该语句。</li>
<li>要验证是否已将新记录添加到 <tt>FRIENDS</tt> 表中,请在 "Services"(服务)窗口中右键单击 <tt>FRIENDS</tt> 表节点,然后选择 "View Data"(查看数据)。
<p>选择 "View Data"(查看数据)时,在 SQL 编辑器的上方窗格中自动生成一个查询,用于选择表中的所有数据。在 SQL 编辑器的下方窗格中显示该语句的结果。在这种情况下,<tt>FRIENDS</tt> 表将显示在下方窗格中。请注意,已添加了一个新行,其中包含刚通过 SQL 语句提供的数据。</p>
<img alt="添加到 FRIENDS 表中的新记录" class="margin-around b-all" src="../../../images_www/articles/72/ide/java-db/new-record.png"></li>
</ol>
<h3><a name="usesqleditor"></a>使用 SQL 编辑器 </h3>
<ol>
<li>右键单击 <tt>FRIENDS</tt> 表节点并选择 "View Data"(查看数据)(如果在上一部分的最后一步中没有执行此操作)。 </li>
<li>单击 "Insert Record"(插入记录)(<tt>Alt-I</tt>) 按钮以添加一行。<br> 即会显示 "Insert Record"(插入记录)对话框。</li>
<li>单击每个单元并输入记录。注意,对于“日期”数据类型的单元,可以从日历中选择一个日期。完成后单击 "OK"(确定)。<br> <img alt="新记录已添加到 FRIENDS 表中" class="margin-around b-all" src="../../../images_www/articles/72/ide/java-db/insert-records.png"><br> 在 SQL 编辑器中,可以通过单击行表头对结果进行排序、修改和删除现有记录,并查看编辑器中正在执行操作的 SQL 脚本(通过弹出式菜单显示 SQL 脚本命令)。 </li>
</ol>
<h2><a name="deleting"></a>删除表
</h2>
<p>在下一步中,将使用外部 SQL 脚本创建一个新的 <tt>COLLEAGUES</tt> 表。但是,在上文的<a href="#sqlEditor">使用 SQL 编辑器</a>部分中刚创建了一个 <tt>COLLEAGUES</tt> 表。要确保 SQL 脚本确实创建一个新表,现在可以删除已创建的 <tt>COLLEAGUES</tt> 表。要删除数据库表,请执行以下步骤。</p>
<ol>
<li>在“服务”窗口中展开数据库连接节点下的“表”节点。</li>
<li>右键单击要删除的表,然后选择“删除”。</li>
</ol>
<h2><a name="using"></a>使用外部 SQL 脚本</h2>
<p>从外部 SQL 脚本中发出命令是管理数据库的一种常用方式。您可能已在其他位置创建了 SQL 脚本,并希望将其导入到 NetBeans IDE 中,以对指定的数据库运行该脚本。</p>
<p>在本练习中,该脚本将创建一个名为 <tt>COLLEAGUES</tt> 的新表,并使用数据填充它。执行以下步骤以在 <tt>contact</tt> 数据库中运行该脚本。</p>
<ol>
<li><a href="https://netbeans.org/project_downloads/usersguide/colleagues.sql" target="_blank">colleagues.sql</a> 下载到本地系统</li>
<li>从 IDE 的主菜单中选择 "File"(文件)> "Open"(打开)。在文件浏览器中,导航至 <tt>colleagues.sql</tt> 文件的保存位置,然后单击 "Open"(打开)。将自动在 SQL 编辑器中打开该脚本。
<p class="tips">或者,也可以复制 <a href="https://netbeans.org/project_downloads/usersguide/colleagues.sql" target="_blank">colleagues.sql</a> 的内容,打开 SQL 编辑器,然后将该文件的内容粘贴到 SQL 编辑器。</p>
</li>
<li>确保从编辑器顶部工具栏的 "Connection"(连接)下拉框中选择了连接到 <tt>Contact DB</tt><br> <img alt="SQL 编辑器工具栏中的 &amp;quot;Connection&amp;quot;(连接)下拉框" class="margin-around b-all" src="../../../images_www/articles/72/ide/java-db/conn-drop-down.png"></li>
<li>单击 "SQL Editor"(SQL 编辑器)任务栏中的 "Run SQL"(运行 SQL)(<img alt="&amp;quot;Run SQL&amp;quot;(运行 SQL)按钮" src="../../../images_www/articles/72/ide/java-db/run-sql-button.png">) 按钮。将对选定的数据库执行该脚本,并在 "Output"(输出)窗口中生成任何反馈。</li>
<li>要验证更改,请在 "Services"(服务)窗口中右键单击 <tt>Contact DB</tt> 连接节点,然后选择 "Refresh"(刷新)。请注意,在 "Services"(服务)窗口中的 <tt>contact</tt> 下面将显示通过 SQL 脚本创建的新 <tt>COLLEAGUES</tt> 表的表节点。</li>
<li>要查看新表中包含的数据,请右键单击 <tt>COLLEAGUES</tt> 表并选择 "View Data"(查看数据)。通过这种方法,还可以将表格数据与 SQL 脚本中包含的数据进行比较,以查看它们是否匹配。</li>
</ol>
<h2><a name="recreating"></a>重新创建来自其他数据库的表
</h2>
<p>如果您有一个来自其他数据库的表,并希望通过 NetBeans IDE 在所使用的数据库中重新创建该表,IDE 为此提供了非常方便的工具。首先,需要在 IDE 中注册第二个数据库,其过程与本教程开始部分描述的过程类似。就本教程而言,请使用与 Java DB 一起打包的 <tt>sample</tt> 数据库。此过程实质上分两部分执行:首先“抓取”选定表的表定义,然后在选择的数据库中重新创建该表,具体操作如下所示:</p>
<ol>
<li>连接至 <tt>sample</tt> 数据库,方法是:在 "Services"(服务)窗口中右键单击 "Databases"(数据库)节点下的连接节点,然后选择 "Connect"(连接)(用户名和口令分别为 <tt>app</tt>)。</li>
<li>
<p>展开 <tt>sample</tt> 数据库连接下的 "Tables"(表)节点,右键单击 <tt>CUSTOMER</tt> 表节点,然后选择 "Grab Structure"(抓取结构)。</p>
<img alt="显示在 &amp;quot;Services&amp;quot;(服务)窗口中的 &amp;quot;Grab Structure&amp;quot;(抓取结构)菜单项" class="margin-around b-all" src="../../../images_www/articles/72/ide/java-db/grab-structure.png"></li>
<li>在打开的 "Grab Table"(抓取表)对话框中,指定计算机上的某一位置,以保存将要创建的抓取文件。单击 "Save"(保存)。
<p>抓取文件记录选定表的定义。</p></li>
<li>展开 <tt>Contact DB</tt> 数据库连接下的 "APP schema"(APP 方案)节点,右键单击 "Tables"(表)节点,然后选择 "Recreate Table"(重新创建表)以打开 "Recreate Table"(重新创建表)对话框。</li>
<li><p>在 "Recreate Table"(重新创建表)对话框中,导航到 <tt>CUSTOMER</tt> 抓取文件的保存位置,然后单击 "Open"(打开)以便打开 "Name the Table"(命名表)对话框。</p>
<img alt="包含 CUSTOMER 的表定义的 &amp;quot;Name the Table&amp;quot;(命名表)对话框" class="margin-around b-all" src="../../../images_www/articles/72/ide/java-db/recreate-table.png"></li>
<li>
<p>此时,可以更改表名称或编辑表定义。否则,请单击 "OK"(确定),以在 <tt>contact</tt> 数据库中立即创建表。<tt>Contact</tt> DB 连接节点下将显示新的 <tt>CUSTOMER</tt> 表节点。</p>
<img alt="显示在 &amp;quot;Services&amp;quot;(服务)窗口中的新 CUSTOMER 表节点" class="margin-around b-all" src="../../../images_www/articles/72/ide/java-db/new-customer-node.png"></li>
</ol>
<p>如果查看新 <tt>CUSTOMER</tt> 表中的数据,您将会发现数据库中没有任何记录,但该表的结构与抓取的表结构相同。</p>
<div class="feedback-box"><a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20Working%20With%20Java%20DB">请将您的反馈意见发送给我们</a></div>
<br style="clear:both;">
<a name="seeAlso"></a>
<h2>另请参见</h2>
<p>以下内容是对“使用 Java DB (Derby) 数据库”教程的总结。本教程演示了如何在 NetBeans IDE 中设置 Java DB 数据库连接。接着,演示了如何在 IDE 的“服务”窗口中创建、查看、修改和删除表。此外,本教程还演示了如何使用 SQL 编辑器向表中添加数据,以及如何在 IDE 中使用来自其他数据库的定义重新创建表。</p>
<p>有关更多相关的高级教程,请参见以下资源:</p>
<ul>
<li><a href="mysql.html">连接 MySQL 数据库</a>。演示了如何在 NetBeans IDE 中配置和连接 MySQL 数据库。</li>
<li><a href="../web/mysql-webapp.html">使用 MySQL 数据库创建简单的 Web 应用程序</a>。说明如何创建连接 MySQL 数据库服务器的简单 Web 应用程序。</li>
<li><a href="http://platform.netbeans.org/tutorials/nbm-crud.html">NetBeans 平台 CRUD 应用程序教程。</a>说明如何将 Java DB 数据库集成到 NetBeans 平台应用程序中。</li>
</ul>
</body>
</html>