# SqlToolBox说明

### 概述

SqlToolBox是一款纯绿色的免费数据库客户端软件，基于Java Swing编制而成，旨在于为开发人员，系统工程师和数据库管理员提供一种通用方便和快捷的数据库操作工具，使他们摆脱需要学习掌握使用多种数据库客户端的苦恼，并减轻他们日常操作数据库和编写Sql语句的任务量，帮助他们把精力投入到解决更有意义的问题上去。

### SqlToolBox现有功能

1. 能连接到MySql,Oracle和Ms Sql Server三种数据库。
2. 连接到数据库后，会提供数据库Schema和表的树视图以便用户进行浏览和查找，另外还提供了一个过滤器帮助用户缩小查找范围。
3. 用户能自动快速获取单表的创建，查询，更新，删除，建表语句，整表全部数据插入语句,单表对应Pojo类和单表的Hibernate映射文件等常用文字，且可借此构造更复杂的Sql语句。
4. 能执行Sql语句并显示执行结果，如果是查询语句会以表格形式显示结果，还提供CSV形式数据下载；如果是非查询语句或是错误的查询语句则会以文字形式告知用户。
5. 在用户输入Sql语句的过程中提供Sql语法高亮功能，以助于Sql语句的识别。
6. 提供Sql格式化功能以助于Sql语句的识别和整理。
7. 提供Redo/Undo,Shift整体退格进格，大小写转化，将Sql语句用StringBuilder包容以及将Sql语句中关键字大写表示等常用文字编辑功能。这些都能帮助程序员在程序中书写Sql语句。
8. 能保存和记忆数据库信息，以便下次打开。

。

### 运行SqlToolBox有何前提条件？

将SqlToolBox运行起来的唯一前提是安装JDK6或以上版本。

### SqlToolBox需要安装吗？

SqlToolBox是一款纯绿色软件，它对您的系统不做出任何更改，因此不需要安装和卸载。

### SqlToolBox安全吗？

由于软件使用Java编写而成，它本身就具有较高的安全性。此外作者保证在SqlToolBox整个系列中都不会加入病毒，木马，插件等坏东西。

### 如何运行SqlToolBox？

解开下载包，然后双击run.bat即可。

### 在Unix/Linux下如何运行SqlToolBox？

除了也需要安装JDK外，您还需要参照run.bat写一份脚本，然后执行它。

### 如何使用SqlToolBox打开一个数据库？

程序运行起来后，您将看到一个输入数据库信息的对话框，请依次填入数据库所在机器的IP地址，数据库的库名称，选择数据库的类型以及输入登录数据库的用户名和密码等必要信息。此后再点击“连接数据库”按钮，程序将打开数据库。如果您将以上信息填错也不要紧，程序会提示哪里出现了问题。此外您可以在登录前点击“测试连接”按钮，程序也会告诉您是否能连接到指定的数据库。

### 打开数据库后程序左边部分如何使用？

成功连接到数据库以后，数据库的Schema和table结构会在画面的左边以树的形式展现出来，如果展现的内容过多，您还可以在上方的“过滤器”输入栏中输入关键字以缩小展现范围。在这颗树中，表格（table）是以小圆点的方式展现的，左键点击这个圆点，程序将在右侧打开一个Sql语句操作窗口，并执行“select * from table”语句，最后在下方以表格的形式展现给您；如果您用右键点击这个圆点，程序将弹出一个右键菜单，选择其中的项目您将可以在右边的Sql语句操作窗口中得到单表的字段信息，创建（insert），查询（select），更新（update），删除语句（delete）及建表语句（create table），单表对应Pojo文件，单表的Hibernate映射文件等文字。

### 打开数据库后程序右边部分是如何使用的？

用左右键点击表格后，您将在右侧看到一个“Sql语句操作窗口”，它分成三部分：工具栏菜单，输入窗口和输出窗口。输入窗口是用以输入，编辑和整理Sql语句的；工具栏菜单中的一大排按钮都是为编辑处理输入窗口中的文字而准备的；输出窗口则是展示Sql语句执行后的结果的，如果是查询语句，它会以表格的形式告知您查询的结果，如果是其它语句，它会以文字的形式告知。通常的操作手法是，先在输入窗口中用鼠标选中您要操作的文本，再在工具栏菜单中点击执行特定操作的按钮，然后在下方的输出窗口中就能看到具体的结果，当然如果仅是文本编辑操作的话输出窗口是不会有反应的。

### 如何执行Sql语句？

程序员和数据库管理员总是习惯使用语句来操作数据库，这也是本软件的最重要功能之一。执行Sql语句的过程具体来说是这样做的，首先，在输入窗口输入您向执行的Sql语句，如“select * from table”之类，当然您更可以通过表格的右键菜单来获得常用的sql语句（在输入或是粘贴文本的过程中，Sql语句中的关键字会以蓝色显示，这是语法高亮功能所致）；其次，你需要选中你想执行的文本，再点击工具栏菜单中的向右三角形按钮，这段文本将得到执行，执行结果将在下方的输出窗口得到展示。如果您执行的是查询语句，输出窗口将以表格的形式列出查询结果集的字段和内容；如果您执行的是删除，更新，添加，修改表等语句或是执行错误的Sql文本，输出窗口将以文本形式告知执行结果。另外工具栏菜单中的双向右三角形按钮用于批量执行Sql语句，它以分号“；”来作为每段Sql的分隔标志，然后分别执行每段。

### 如何快速调整对执行查询语句后得到的表格列宽度？

如果您想自动调整某列的宽度，可以双击这列的表头，此后这列的宽度会根据这列的最长文字进行调整；您还可以在表格上点击右键，选择“调整列宽为最适合状态”一项，那么所有的列宽都会进行调整。

### 如何得到执行查询语句后得到的表格的内容？

您还可以在表格上点击右键，选择“下载表格为CSV文件”一项，此后查询语句和得到的结果都会被放入一个CSV文件中。CSV是一中文本文件，但您可以用Excel打开它，也会得到xls文件一样的效果。

### 在新增或是删除一张表后，在左边的树中为什么没有相应的变化？

新增或是删除一张表后，您需要手动执行一下左上方的更新按钮（最上方的大图标中第一个），此后程序会重新载入数据库的Schema和table，这样您刚才对表格进行增删操作就能体现出来。

### 如果我需要常打开数据库进行操作或是需要常操作多个数据库，程序能为我提供那些便利？

本软件有记忆功能，如果您正确连接到一个数据库，那么相应的信息如IP地址，数据库名，数据库类型，连接数据库的用户名和密码都会被记忆下来，这样下次打开时就不用重复输入了。如果您需要常操作多个数据库，您可以通过保存按钮（最上方五个大图标中的第二个）将数据库信息保存成XML文件，这样在登录画面中就可以通过“打开文件按钮”得到相应的数据库信息。

### 如果我有想法和建议，如何与作者联系？

首先，您可以点击程序上方的信封按钮，通过邮件heyang78@gmail.com和我联系，我会乐于回复您的邮件并会认真考虑您提出的想法和建议；其次，您还可以通过QQ和我联系，我的Q号是805985315;其三，我的MSN是junglesong_5@gmail.com,通过MSN也能找到我；最后，欢迎您登录我的博客http://heyang.blogjava.net，如果SqlToolBox有所变化，我会在第一时间在博客上公告。

### 感谢名单

SqlToolBox的成长离不开以下人士的建议，激励和帮助，在此谨向他们表示诚挚的谢意：

- danielxu(关于jtds-1.2.2.jar的添加)
- creasure(关于开源的建议)
- Always BaNg.(关于语法高亮)
- mircle(关于提升加载数据库对象的性能)
- willim2000(他也做了一个类型相同的软件)
- ytfulz(提供连接SqlServer的连接测试以，改变输出表格形式，调整输出表格列宽的建议)
- 王宏亮(提供将程序和JRE整体打包的建议)
- 朱俭(关于帮助窗口只打开一个的建议)

### 最后，感谢您对SqlToolBox的大力支持，祝您使用愉快.