blob: e00d11bc903276cae8d470828bc82ff7c123cfaf [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 name="description" content="An introductory tutorial describing how to connect
to a MySQL database in NetBeans IDE">
<meta name="keywords" content="NetBeans, IDE, integrated development environment,
MySQL, SQL, structured query language, multithreaded, multi-user database
management system, DBMS, open source">
<link rel="stylesheet" type="text/css" href="../../../netbeans.css">
<script type="text/javascript" src="../../../images_www/js/window_opener.js"></script>
<title>连接 MySQL 数据库 - NetBeans IDE 教程</title>
<meta HTTP-EQUIV="Content-Type" Content="text/html; charset=UTF-8"></head>
<body>
<h1>连接 MySQL 数据库</h1>
<p>本文档说明如何设置从 NetBeans IDE 到 MySQL 数据库的连接。连接后,可通过执行以下操作开始在 IDE 的数据库资源管理器中使用 MySQL:创建新的数据库和表、在表中填充数据,并对数据库结构和内容运行 SQL 查询。本教程是专门为那些对数据库管理有基本了解,并想要运用其知识在 NetBeans IDE 中使用 MySQL 的初学者而设计的。</p>
<p><a href="http://www.mysql.com/">MySQL</a> 是一种常见的开源关系数据库管理系统 (RDBMS),由于其速度、灵活性和可靠性而常用于 Web 应用程序中。MySQL 使用 SQL(即 <em>Structured Query Language</em>,结构化查询语言)访问和处理数据库中包含的数据。</p>
<p class="align-center"><b>预计时间:<i>30</i> 分钟</b></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">配置 MySQL 服务器属性</a></li>
<li><a href="#starting">启动 MySQL 服务器</a></li>
<li><a href="#connectingDB">创建并连接到数据库</a></li>
<li><a href="#creating">创建数据库表</a></li>
<li><a href="#working">使用表数据</a></li>
<li><a href="#running">运行 SQL 脚本</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</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">MySQL 数据库服务器</td>
<td class="tbltd1"><a href="http://dev.mysql.com/downloads/mysql/">版本 5.x</a></td>
</tr>
</tbody>
</table>
<p class="notes"><strong>注:</strong>本教程假设已在计算机上安装并配置了 MySQL RDBMS。如果是首次安装,请查阅正式的 <a href="http://dev.mysql.com/doc/refman/5.0/en/installing-cs.html">MySQL 文档</a>以寻求帮助。还可以参阅<a href="install-and-configure-mysql-server.html">在 Windows 操作系统中设置 MySQL 数据库服务器</a></p>
<a name="configuring"></a>
<h2>配置 MySQL 服务器属性</h2>
<p>NetBeans IDE 支持 MySQL RDBMS。访问 NetBeans IDE 中的 MySQL 数据库服务器之前,必须先配置 MySQL 服务器属性。</p>
<ol>
<li>在 "Services"(服务)窗口中,右键单击 "Databases"(数据库)节点,然后选择 "Register MySQL Server"(注册 MySQL 服务器),以打开 "MySQL Server Properties"(MySQL 服务器属性)对话框。<br /> <img alt="&amp;quot;MySQL Server Properties&amp;quot;(MySQL Server 属性)对话框:&amp;quot;Basic Properties&amp;quot;(基本属性)" class="margin-around b-all" height="246" src="../../../images_www/articles/73/ide/mysql/mysql-props1.png" width="387">
</li>
<li>确认服务器主机名和端口正确无误。
<p>请注意,IDE 将输入 <code>localhost</code> 作为默认服务器主机名,并输入 <code>3306</code> 作为默认服务器端口号。
</li>
<li>输入管理员用户名(如果未显示)。
<p class="notes"><b>注:</b>您需要具备管理访问权限才能创建和删除数据库。</p>
</li>
<li>
<p>输入 Administrator 作为口令。默认值设为空。</p>
<p class="notes"><b>注:</b>空口令也可以是口令。</p></li>
<li><p>单击该对话框顶部的 "Admin Properties"(管理属性)标签。</p>
随后将显示 "Admin Properties"(管理属性)标签,允许输入用来控制 MySQL 服务器的信息。</li>
<li>在 "Path/URL to admin tool"(管理工具的路径/URL)字段中,键入或浏览至 MySQL 管理应用程序(如 MySQL 管理工具、PhpMyAdmin 或其他基于 Web 的管理工具)的位置。
<p class="notes"><b>注:</b><code>mysqladmin</code> 是 MySQl 管理工具,可在 MySQL 安装目录的 <code>bin</code> 文件夹中找到。它是命令行工具,用在 IDE 中并不理想。</p>
在 "Arguments"(参数)字段中键入管理工具的参数。</li>
<li><p>在 "Path to start command"(启动命令的路径)中,键入或浏览至 MySQL 启动命令的位置。要找到启动命令,请在 MySQL 安装目录的 <code>bin</code> 文件夹中查找 <code>mysqld</code></p>
<p class="notes"><b>注:</b>对于 Unix 和 NetWare,建议使用二进制文件 <code>mysql_safe</code>。此外,如果安装 AMP 时已安装了 MySQL,则启动命令可能也会有所不同。 </p>
在 "Arguments"(参数)字段中键入启动命令的参数。</li>
<li>在 "Path to stop command"(停止命令的路径)字段中,键入或浏览至 MySQL 停止命令的位置。该位置通常是指向 MySQL 安装目录的 <code>bin</code> 文件夹中 <code>mysqladmin</code> 的路径。如果该命令为 <code>mysqladmin</code>,请在 "Arguments"(参数)字段中键入 <code>-u root stop</code>,以便授予停止服务器的 <code>root</code> 权限。</li>
<li>
<p>完成后,"Admin Properties"(管理属性)标签应如下图所示。如果您对配置感到满意,请单击 "OK"(确定)。</p>
<img alt="&amp;quot;MySQL Server Properties&amp;quot;(MySQL 服务器属性)对话框:&amp;quot;Admin Properties&amp;quot;(管理属性)" class="margin-around b-all" src="../../../images_www/articles/73/ide/mysql/mysql-props2.png"></li>
</ol>
<a name="starting"></a>
<h2>启动 MySQL 服务器</h2>
<p> 连接 MySQL 数据库服务器之前,必须首先确保您计算机上的 MySQL 数据库服务器处于运行状态。如果未连接数据库服务器,则您将会在 "Service"(服务)窗口 "MySQL Server"(MySQL 服务器)节点中的用户名旁看到 <strong>(disconnected)</strong>(已断开连接),并且您无法展开该节点。</p>
<p>要连接到数据库服务器,请确认 MySQL 数据库服务器运行在计算机上,在 "Services"(服务)窗口中右键单击 "Databases"(数据库)> "MySQL Server"(MySQL 服务器)节点,然后选择 "Connect"(连接)。系统可能会提示您提供口令以连接到服务器。</p>
<img alt="MySQL 数据库服务器正在运行" class="margin-around" src="../../../images_www/articles/73/ide/mysql/services-running.png">
<p>连接服务器后,您将能够展开 "MySQL Server"(MySQL 服务器)节点并查看所有可用的 MySQL 数据库。</p>
<a name="creatingDB"></a>
<h2>创建并连接到数据库实例</h2>
<p>与数据库交互的常见方式是通过 SQL 编辑器。NetBeans IDE 具此用途的内置 SQL 编辑器。一般情况下,可以从连接节点(或连接节点的子节点)的右击菜单中通过 "Execute Command"(执行命令)选项来访问 SQL 编辑器。现在您已连接到 MySQL 服务器,接下来可以使用 SQL 编辑器来创建新的数据库实例。就本示例而言,将创建名为 <tt>MyNewDatabase</tt> 的实例:</p>
<ol>
<li><p>在 IDE 的 "Services"(服务)窗口中,右键单击 MySQL 服务器节点并选择 "Create Database"(创建数据库)。</p>
"Create MySQL Database"(创建 MySQL 数据库)对话框打开。 </li>
<li>在"Create MySQL Database"(创建 MySQL 数据库)对话框中,键入新数据库的名称。对于本教程,我们将使用 <code>MyNewDatabase</code>。此时将该复选框保留为取消选中状态。 <img alt="&amp;quot;Create MySQL Database&amp;quot;(创建 MySQL 数据库)对话框" border="0" class="margin-around" src="../../../images_www/articles/73/ide/mysql/create-db-dbx.png">
<p class="notes"><b>注:</b>您还可以向给定用户授予完全访问权限。默认情况下,只有管理员用户具备执行某些命令的权限。通过该下拉列表,可以将这些权限指定给指定的用户。</p>
</li>
<li>单击 "OK"(确定)。
<p>新的数据库就会出现在 "Services"(服务)窗口的 MySQL 服务器节点下。</p>
</li>
<li>右键单击新数据库节点,然后在弹出菜单中选择 "Connect"(连接)以打开与数据库的连接。
<p>打开的数据库连接由 "Services"(服务)窗口中的一个完整连接节点 (<img alt="完整连接节点图标" src="../../../images_www/articles/73/ide/mysql/connection-node-icon.png">) 表示。</p>
</li>
</ol>
<a name="creating"></a>
<h2>创建数据库表</h2>
<p>现在您已连接到 <tt>MyNewDatabase</tt>,接下来即可开始研究如何创建表、在表中填充数据,以及修改表中保留的数据。这可以使您便更详细地了解数据库资源管理器提供的功能,以及 NetBeans IDE 对 SQL 文件的支持。</p>
<p><tt>MyNewDatabase</tt> 当前为空。在 IDE 中,可以使用 "Create Table"(创建表)对话框或通过输入 SQL 查询并从 SQL 编辑器直接运行该查询,来添加数据库表。在这里,您可以深入了解这两种方法:</p>
<ol>
<li><a href="#usingSQLEditor">使用 SQL 编辑器</a></li>
<li><a href="#usingCreateTable">使用 "Create Table"(创建表)对话框</a></li>
</ol>
<div class="indent">
<a name="usingSQLEditor"></a>
<h3>使用 SQL 编辑器</h3>
<ol>
<li>在数据库资源管理器中,展开 <tt>MyNewDatabase</tt> 连接节点 (<img alt="&amp;quot;connection node&amp;quot;(连接节点)图标" src="../../../images_www/articles/73/ide/mysql/connection-node-icon.png">),注意其中有三个子文件夹:"Tables"(表)、"Views"(视图)和 "Procedures"(过程)。</li>
<li>右键单击 "Tables"(表)文件夹,然后选择 "Execute Command"(执行命令)。会在 SQL 编辑器的主窗口中打开一个空画布。</li>
<li>在 SQL 编辑器中,键入以下查询。这是与即将创建的 <tt>Counselor</tt> 表对应的表定义。
<pre class="examplecode">CREATE TABLE Counselor (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
firstName VARCHAR (50),
nickName VARCHAR (50),
lastName VARCHAR (50),
telephone VARCHAR (25),
email VARCHAR (50),
memberSince DATE DEFAULT '0000-00-00',
PRIMARY KEY (id)
);</pre>
<strong class="notes">注:</strong>在 SQL 编辑器中形成的查询采用结构化查询语言 (SQL) 进行解析。SQL 遵循严格的语法规则,在 IDE 的编辑器中工作时应先熟悉一下这些规则。运行查询时,在 "Output"(输出)窗口中生成来自 SQL 引擎的反馈,表明执行是否成功。 </li>
<li><p>要执行查询,请单击顶部任务栏中的 "Run SQL"(运行 SQL)(<img alt="&amp;quot;Run SQL&amp;quot;(运行 SQL)按钮" src="../../../images_www/articles/73/ide/mysql/run-sql-button.png">) 按钮(Ctrl-Shift-E 组合键),或者在 SQL 编辑器中右键单击并选择 "Run Statement"(运行语句)。IDE 在数据库中生成 <tt>Counselor</tt> 表,并且您将收到一条与 "Output"(输出)窗口中的以下内容类似的消息。</p>
<img alt="&amp;quot;Output&amp;quot;(输出)窗口指示成功执行" class="margin-around b-all" src="../../../images_www/articles/73/ide/mysql/create-counselor-query.png"></li>
<li><p>要验证更改,请右键单击数据库资源管理器中的 "Tables"(表)节点,然后选择 "Refresh"(刷新)。"Refresh"(刷新)选项用于将数据库资源管理器的 UI 组件更新为指定数据库的当前状态。请注意,此时新的 <tt>Counselor</tt> 表节点 (<img alt="&amp;quot;table node&amp;quot;(表节点)图标" src="../../../images_www/articles/73/ide/mysql/table-node.png">) 将显示在数据库资源管理器中的 "Tables"(表)下。如果展开表节点,则可以看到所创建的列 (字段),它们以主键开头 (<img alt="&amp;quot;primary key node&amp;quot;(主键节点)图标" src="../../../images_www/articles/73/ide/mysql/primary-key-icon.png">)。</p>
<img alt="数据库资源管理器中显示的 Counselor 表" class="margin-around b-all" src="../../../images_www/articles/73/ide/mysql/counselor-table.png"></li>
</ol>
<a name="usingCreateTable"></a>
<h3>使用 "Create Table"(创建表)对话框</h3>
<ol>
<li>在数据库资源管理器中,右键单击 "Tables"(表)节点,然后选择 "Create Table"(创建表)。此时将打开 "Create Table"(创建表)对话框。</li>
<li>在 "Table Name"(表名称)文本字段中,键入 <tt>Subject</tt></li>
<li>单击 "Add Column"(添加列)。</li>
<li>输入 <tt>id</tt> 作为列的名称。从 "Type"(类型)下拉列表中选择 <tt>SMALLINT</tt> 作为数据类型。单击 "OK"(确定)。<br> <img alt="&amp;quot;Add Column&amp;quot;(添加列)对话框的屏幕快照" class="margin-around b-all" src="../../../images_www/articles/73/ide/mysql/add-column-dialog.png"></li>
<li>在 "Add Column"(添加列)对话框中,选中 "Primary Key"(主键)复选框。这将为表指定主键。关系数据库中的所有表都必须包含主键。请注意,在选中 "Key"(键)复选框时,也将会自动选中 "Index"(索引)和 "Unique"(唯一)复选框,而 "Null"(空值)复选框则会被取消选中。这是因为主键用于标识数据库中的唯一行,且默认情况下主键可以构成表索引。由于需要标识所有行,因此主键不能包含空值。</li>
<li><p>通过添加其余的列来重复此过程,如下表所示。</p>
<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">SMALLINT</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">name</td>
<td class="tbltd1">VARCHAR</td>
<td class="tbltd1">50</td>
</tr>
<tr>
<td class="tbltd1"></td>
<td class="tbltd1"></td>
<td class="tbltd1">[选中]</td>
<td class="tbltd1"></td>
<td class="tbltd1">description</td>
<td class="tbltd1">VARCHAR</td>
<td class="tbltd1">500</td>
</tr>
<tr>
<td class="tbltd1"></td>
<td class="tbltd1"></td>
<td class="tbltd1">[选中]</td>
<td class="tbltd1"></td>
<td class="tbltd1">FK_counselorID</td>
<td class="tbltd1">SMALLINT</td>
<td class="tbltd1">0</td>
</tr>
</table>
<p>
您正在创建名为 <tt>Subject</tt> 的表,该表包含与以下记录中的每条记录对应的数据。</p>
<ul>
<li><strong>名称:</strong>主题的名称</li>
<li><strong>描述:</strong>主题的描述</li>
<li><strong>顾问 ID:</strong>与 Counselor 表中的 ID 对应的顾问 ID</li>
</ul>
<img alt="&amp;quot;Create Table&amp;quot;(创建表)对话框,带有 &amp;quot;Subject&amp;quot;(主题)表的选定字段" class="margin-around b-all" src="../../../images_www/articles/73/ide/mysql/create-table-subject.png">
<p>
确保 "Create Table"(创建表)对话框中的字段与上面显示的字段匹配,然后单击 "OK"(确定)。IDE 在数据库中生成 <tt>Subject</tt>(主题)表,此时可以看到新的 <tt>Subject</tt>(主题)表节点 (<img alt="&amp;quot;table node&amp;quot;(表节点)图标" src="../../../images_www/articles/73/ide/mysql/table-node.png">) 立即显示在数据库资源管理器的 "Tables"(表)下。</p></li>
</ol>
</div>
<a name="working"></a>
<h2>使用表数据</h2>
<p>为了处理表数据,可以使用 NetBeans IDE 中的 SQL 编辑器。通过对数据库运行 SQL 查询,可以添加、修改和删除数据库结构中保留的数据。要向 <tt>Counselor</tt> 表中添加新的记录(行),请执行以下操作:</p>
<ol>
<li>从数据库资源管理器的 "Tables"(表)文件夹中,选择 "Execute Command"(执行命令)。会在 SQL 编辑器的主窗口中打开一个空画布。</li>
<li>在 SQL 编辑器中,键入以下查询。
<pre class="examplecode">INSERT INTO Counselor
VALUES (1, 'Ricky', '&quot;The Dragon&quot;', 'Steamboat','334 612-5678', 'r_steamboat@ifpwafcad.com', '1996-01-01')</pre></li>
<li>要执行该查询,请在 SQL 编辑器中单击鼠标右键,然后选择 "Run Statement"(运行语句)。在 "Output"(输出)窗口中,可以看到一条消息,表明已成功执行该查询。</li>
<li><a name="viewData"></a><p>要验证是否已将新记录添加到 <tt>Counselor</tt> 表中,请在数据库资源管理器中右键单击 <tt>Counselor</tt> 表节点并选择 "View Data"(查看数据)。一个新的 SQL 编辑器窗格在主窗口中打开。选择 "View Data"(查看数据)时,在 SQL 编辑器上面的区域中自动生成用于从表中选择所有数据的查询。该语句的结果显示在下面区域中的一个表视图中。在此示例中,将显示 <tt>Counselor</tt> 表。请注意,新行中已经添加了刚刚通过 SQL 查询获得的数据。</p>
<img alt="添加到 Counselor 表的新记录" class="margin-around b-all" src="../../../images_www/articles/73/ide/mysql/sql-results.png"> </li>
</ol>
<a name="running"></a>
<h2>运行 SQL 脚本</h2>
<p>在 NetBeans IDE 中管理表数据的另一种方式是在 IDE 中直接运行外部 SQL 脚本。如果已在其他位置创建了 SQL 脚本,则只需在 NetBeans IDE 中打开该脚本并在 SQL 编辑器中运行它。</p>
<p>为了进行说明,请下载 <a href="https://netbeans.org/project_downloads/samples/Samples/Java%20Web/ifpwafcad.sql">ifpwafcad.sql</a> 并将其保存到计算机上的某个位置。此脚本将创建两个与您在上面刚刚创建的表(<tt>Counselor</tt><tt>Subject</tt>)类似的表,并立即在这些表中填充数据。</p>
<p>由于该脚本将覆盖这些表(如果这些表已存在),因此请立即删除 <tt>Counselor</tt><tt>Subject</tt> 表,以便表明在运行该脚本时就会创建新的表。要删除表,请执行以下操作:</p>
<ol>
<li>在数据库资源管理器中,右键单击 <tt>Counselor</tt><tt>Subject</tt> 表节点,然后选择 "Delete"(删除)。</li>
<li>在 "Confirm Object Deletion"(确认删除对象)对话框中,单击 "Yes"(是)。请注意,该对话框列出了要删除的表。</li>
</ol>
<p>在 "Confirm Object Deletion"(确认删除对象)对话框中单击 "Yes"(是)后,将从数据库资源管理器中自动删除表节点。</p>
<p>要对 <tt>MyNewDatabase</tt> 运行 SQL 脚本,请执行以下操作:</p>
<ol>
<li>从 IDE 的主菜单中选择 "File"(文件)> "Open"(打开)。在文件浏览器中导航至以前保存 <tt>ifpwafcad.sql</tt> 的位置并单击 "Open"(打开)。将自动在 SQL 编辑器中打开该脚本。</li>
<li><p>确保从该编辑器顶部的工具栏中的 "Connection"(连接)下拉框中选择到 <tt>MyNewDatabase</tt> 的连接。</p>
<img alt="SQL 编辑器工具栏中的 &amp;quot;Connection&amp;quot;(连接)下拉框" border="1" class="margin-around" src="../../../images_www/articles/73/ide/mysql/connection-drop-down.png"></li>
<li>单击 "SQL Editor"(SQL 编辑器)任务栏中的 "Run SQL"(运行 SQL)(<img alt="&amp;quot;Run SQL&amp;quot;(运行 SQL)按钮" src="../../../images_www/articles/73/ide/mysql/run-sql-button.png">) 按钮。将对选定的数据库执行该脚本,并在 "Output"(输出)窗口中生成任何反馈。</li>
<li>要验证更改,请右键单击 "Runtime"(运行时)窗口中的 <tt>MyNewDatabase</tt> 连接节点,然后选择 "Refresh"(刷新)。"Refresh"(刷新)选项用于将数据库资源管理器的 UI 组件更新为指定数据库的当前状态。请注意,从 SQL 脚本生成的两个新表现在数据库资源管理器中的 <tt>MyNewDatabase</tt> 下显示为表节点。</li>
<li>从选定表节点的右击菜单中选择 "View Data"(查看数据),以查看新表中包含的数据。可以采用此方式对表格数据与 SQL 脚本中包含的数据进行比较,以便查看它们是否匹配。</li>
</ol>
<div class="feedback-box">
<a href="/about/contact_form.html?to=3&subject=Feedback:%20Connecting%20to%20a%20MySQL%20Database">请将您的反馈意见发送给我们</a></div>
<br style="clear:both;">
<a name="seeAlso"></a>
<h2>另请参见</h2>
<p>“连接 MySQL 数据库”教程到此结束。本文档演示了如何在计算机上配置 MySQL,以及如何设置从 NetBeans IDE 到数据库服务器的连接。此外,还介绍了如何通过执行以下操作在 IDE 的数据库资源管理器中使用 MySQL:创建新的数据库实例和表、在表中填充数据,并运行 SQL 查询。</p>
<p>有关更多相关的高级教程,请参见以下资源:</p>
<ul>
<li><a href="../../docs/web/mysql-webapp.html">使用 MySQL 数据库创建简单的 Web 应用程序</a>。后续课程,演示如何使用刚刚创建的 MySQL 数据库在 IDE 中创建简单的两层 Web 应用程序。</li>
</ul>
</body>
</html>