14、量子数据库插件(Quantum DB Plug - In)使用指南

量子数据库插件(Quantum DB Plug - In)使用指南

一、插件初步设置

在特定窗口为书签命名,完成此步骤后,就可以使用量子数据库(Quantum DB)插件来操作 Shelter 数据库了。点击“完成”按钮结束向导。若使用的数据库支持模式(如 DB2 和 Oracle),点击“下一步”可指定默认打开的模式。

二、使用数据库书签

数据库书签设置好后,可在“数据库书签”视图中看到其功能。新的数据库书签会显示在该视图中,双击它就能连接到数据库,Eclipse 会使用向导中指定的连接设置进行连接。插件会查询数据库的整个模式,并以层次结构展示。

连接成功后,书签名称旁的图标会变成数据库图标,这表示已与数据库建立了有效连接。在视图中,还会看到以下内容:
- 快速列表文件夹 :可将表存储在此处作为快捷方式。
- 最近 SQL 语句文件夹 :保存着最近在量子 SQL 查询编辑器中输入的 SQL 语句。
- 数据库模式 :以“用户名 @ 数据库服务器”的格式表示。点击展开/折叠图标可查看数据库中的项目,包括视图、表和存储过程。以简单的 MySQL 数据库为例,“表”文件夹下列出了 tCat 表,“视图”文件夹为空。展开 tCat 表,可看到数据库列名及其数据类型,若列是键,其名称旁会有“钥匙”图标。

“数据库书签”视图有两个工具栏图标和一个菜单图标,具体功能如下:
| 图标/菜单 | 功能 |
| ---- | ---- |
| 新书签 | 创建新的数据库书签 |
| 全部折叠 | 折叠此视图中的所有数据库模式树 |
| 菜单图标 | 包含多个有用的信息相关选项,如显示表大小、显示数据库信息、导入/导出书签等 |

三、编写 SQL 语句

要向数据库发送 SQL 语句,可使用量子 SQL 查询编辑器视图。编写语句时就像使用命令行客户端一样,完成后点击“执行”图标。例如,在视图中输入 SELECT * FROM tCat 并点击“执行”图标,该语句会从数据库的 tCat 表中提取所有记录和列,结果会显示在量子表视图中。不过,此视图仅显示 SELECT 语句的记录集,若语句不返回记录集(如 UPDATE、INSERT 或 DELETE 语句),量子表视图不会更新。

查询编辑器可处理多条 SQL 命令。若输入了多条命令,只需在查询编辑器中选择要执行的命令。若选择部分命令并点击“执行”按钮,只有高亮显示的语句或语句部分会执行。若有多个 SELECT 语句,每个结果集会在量子表视图中以单独的标签显示。

以下是一个示例,在查询编辑器中输入以下三条语句,但在点击“执行”按钮前只高亮显示后两条:

SELECT Name from tCat;
SELECT Gender from tCat;
SELECT Age from tCat;

执行后,量子表视图会出现两个新标签,表明只有后两条语句被执行。

每次在编辑器中输入的命令都会保存在“数据库书签”视图的“最近 SQL 搜索”文件夹中。要使用该文件夹中的语句,只需双击该语句,它会自动填充到量子 SQL 查询编辑器视图中,点击工具栏中的“执行”即可运行查询。默认情况下,会保存 20 条最近的语句,可在“窗口 | 首选项 | 量子数据库”菜单选项中更改此数量,在“查询历史记录的最大大小”中输入想要保存的结果数量。

量子 SQL 查询编辑器有两个工具栏按钮和一个下拉菜单:
| 按钮/菜单 | 功能 |
| ---- | ---- |
| 执行 | 执行编辑器中高亮显示的 SQL 语句,若未高亮显示则执行整个编辑器内容。“执行”还有一个下拉菜单,会显示所有数据库书签,可通过此菜单选择要执行语句的书签 |
| 清除 | 清除整个 SQL 编辑器 |
| 下拉菜单 | 可从文本文件导出和导入查询。若数据库支持回滚和提交,可在下拉菜单的相应选项中给出这些命令。对于 MySQL,命令执行时会自动提交,因此下拉菜单中此选项会自动勾选 |

四、处理量子表视图结果集

量子表视图中有几个实用工具,可帮助处理记录集显示的一些问题。默认情况下,执行 SELECT 语句时每次只显示 200 行,工具栏的前三个图标用于处理此问题,其他图标用于处理视图中显示的数据。具体功能如下:
| 图标 | 功能 |
| ---- | ---- |
| 上一页 | 转到结果集中的上一组 200 行 |
| 下一页 | 转到结果集中的下一组 200 行 |
| 切换显示所有表行 | 显示语句返回的所有记录,使“上一页”和“下一页”按钮对该结果集无效 |
| 关闭结果集 | 关闭当前聚焦的结果集 |
| 关闭所有结果集 | 删除视图中的所有结果集 |
| 刷新 | 从数据库刷新数据 |
| 过滤和排序 | 允许对结果集进行过滤和排序 |

过滤和排序功能

过滤和排序功能值得特别关注。若使用过 Microsoft Access 数据库,就会知道其 GUI 工具可轻松编写查询而无需编写 SQL 代码,量子表视图的过滤和排序功能与之类似。

要使用过滤和排序功能,需从“数据库书签”视图中直接双击 tCat 表,也可右键单击表名并从上下文菜单中选择“查看表”,这两种操作都相当于执行 SELECT * 语句,表视图会填充查询结果。需注意,要使用过滤和排序功能,必须通过上述两种方法之一填充表视图,不能仅在 SQL 编辑器中编写 SELECT 语句后使用该功能。

结果集准备好后,点击“过滤和排序”图标,会出现一个向导,可动态为 SELECT 语句创建 WHERE 子句。设置以下值来创建 WHERE 子句:
- Where :指定要设置的列条件。
- Operator :可选择测试条件,如等于(=)、不等于(<>)、小于(<)或大于(>)。点击要测试行的此列,会出现包含所有可用运算符的下拉菜单。
- Values :要测试的条件,在自由文本框中输入要测试的值。
- Is String :若值为字符串,勾选此列的复选框,这会为指定的值添加单引号。否则,过滤器会假设该列是整数,不需要引号。
- Order By :可指定查询的排序子句。
- Sorter :选择排序是升序还是降序。

以下是一个示例,创建一个过滤器,从 tCat 表中仅选择家猫短毛猫(DSH),并按 CatID 升序排列结果:
1. 在“Where”列中勾选 Breed。
2. 从“Operator”下拉菜单中选择 = 运算符。
3. 在“Values”列中输入 DSH,无需引号。
4. 勾选“Is String”复选框。勾选此框后,值会用单引号括起来。对于任何字符串列,都需要点击此复选框,否则 MySQL 会将无引号的值视为整数,即使数据类型可能是基于字符串的类型(如 varchar)。
5. 按 CatID 排序,在“Order By”列中勾选 CatID 旁边的复选框。
6. 在 CatID 行的“Sorter”下拉菜单中选择 ASC 进行升序搜索。
7. 点击“完成”按钮。

动态创建的 WHERE 子句会出现在对话框底部,点击“完成”按钮后,tCat 结果集会根据此 WHERE 子句更新。

要清除过滤器,再次点击“过滤和排序”图标,过滤条件会为空,不设置任何条件,直接点击“完成”按钮即可清除过滤器,也可输入新条件对结果集进行新的过滤。

graph TD;
    A[开始] --> B[从数据库书签视图操作 tCat 表];
    B --> C{选择操作方式};
    C -->|双击| D[执行 SELECT * 语句];
    C -->|右键选查看表| D;
    D --> E[表视图填充结果集];
    E --> F[点击过滤和排序图标];
    F --> G[设置过滤和排序条件];
    G --> H[点击完成按钮];
    H --> I[结果集更新];
    I --> J{是否清除过滤};
    J -->|是| K[再次点击过滤和排序图标];
    K --> L[不设条件点击完成];
    J -->|否| M[结束];
    L --> M;

五、量子数据库快捷方式

在数据库书签视图中操作 tCat 表

在“数据库书签”视图中右键单击 tCat 表,会在上下文菜单中看到一些有用的快捷方式:
| 快捷方式 | 功能 |
| ---- | ---- |
| 查看表 | 对表执行 SELECT * 语句,结果会显示在量子表视图中 |
| 删除所有行 | 删除表中的所有行,执行前 Eclipse 会要求确认 |
| 查看表详细信息 | 查询数据库的模式,在 MySQL 中相当于 EXPLAIN tCat |
| 添加到快速列表 | 将实体添加到快速列表文件夹,若数据库有许多表、视图和存储过程,此文件夹很有用 |
| 从快速列表中移除 | 若实体已添加到快速列表,可将其移除 |

SQL 语句菜单中的操作

在 SQL 语句菜单中,有一个“删除表/视图/序列…”选项,点击该选项会进入一个向导,可动态生成 DROP 语句。在“实体”选项中输入要删除的表名,“如何处理依赖实体”询问如何处理外键约束,这取决于数据库在删除带有外键约束的表时是否支持级联和限制操作。可点击“完成”按钮执行删除操作,也可点击“下一步”查看并验证 Eclipse 生成的 SQL 语句是否正确,避免意外删除不想删除的数据。

表上下文菜单中的其他操作

在表上下文菜单中,还有“属性”选项,点击该选项可查看表以及整个数据库的属性,但此窗口为只读,不能更改参数。

自定义复制功能

还有一个自定义复制功能,有三个插槽。要设置此功能,转到“窗口 | 首选项 | 量子数据库 | 复制”菜单选项,选择一个可用的自定义复制模板。自定义复制是量子数据库插件中一个有用但常被忽视且复杂的自动化工具,它会根据在“数据库书签”视图中高亮显示的表和列,自动将文本复制到剪贴板。

在首选项窗口中,会看到以下字段:
| 字段 | 说明 |
| ---- | ---- |
| Name | 自定义复制模板的名称,应给出描述性名称 |
| Table Item | 遇到每个表时要复制的内容 |
| Table Separator | 分隔每个表项的字符串 |
| Column Item | 遇到每个列时要复制的内容 |
| Column Separator | 分隔每个列项的字符串 |
| Template | 要粘贴到剪贴板的内容 |

这些条目可以使用以下变量:
- ${schema} :表或列的模式,除 Template 外的所有格式字段均有效。由于 MySQL 不支持模式,可忽略此变量。
- ${table} :表名,不包含模式,除 Template 外的所有格式字段均有效。
- ${qualified} ${schema} ${table} 连接在一起,除 Template 外的所有格式字段均有效。
- ${column} :列名,仅在 Column Item 字段中有效。
- ${column_list} :所有列的列表,仅在 Table Item 字段中有效。
- ${table_list} :所有表的列表,仅在 Template 中有效,这是唯一可在 Template 中使用的变量。
- \n :插入换行符。
- \t :插入制表符。

使用此工具的关键要点如下:
- 在“数据库书签”视图中高亮显示的每个列,在“Column Item”字段中输入的内容会复制到剪贴板。
- 列项组成 ${column_list} 变量。
- 在“数据库书签”视图中高亮显示的每个表,在“Table Item”字段中输入的内容会复制到剪贴板。
- 复制聚合器会隐式遍历每个高亮显示的表的每一列,列项会被收集并聚合到 ${column_list} 变量中。
- 表项组成 ${table_list} 变量。
- 必须在“Template”字段中输入 ${table_list} 变量,否则自定义复制功能不会将任何动态内容复制到剪贴板。

以下是一个示例,假设公司规定代码中不能使用 SELECT * ,必须在 SELECT 语句中明确列出所有列名。对于大表,手动输入列名很麻烦,自定义复制功能可简化此操作。

进入自定义复制首选项,选择第一个模板,输入以下值:
- Name 字段 :输入“列出列名”,这只是给模板起的名称。
- Table Item 字段 :输入 'SELECT ${column_list} FROM ${table}' 。每次在“数据库书签”视图的高亮列表中遇到表时,会将此内容复制到剪贴板, ${table} 变量会被当前表的名称替换。
- Table Separator 字段 :输入 '\n' ,这会在每个 SELECT 语句后添加换行符。
- Column Item 字段 :输入 '${column}' ,遇到列时会用列名替换该变量。记住,高亮显示表时会隐式遍历表的列,它们共同组成 ${column_list} ,该变量针对每个表是特定的。
- Column Separator 字段 :输入 ', ' ,这会在列列表中的每个列名之间添加逗号和空格。
- Template 字段 :输入 '${table_list}' ,表项共同组成 ${table_list} ,这是动态创建表的最后一步。

现在,从“数据库书签”视图中选择 tCat 表,高亮显示表名并右键单击,选择“自定义复制 | 列出列名”,输入的值会以 tCat 表为输入复制到数据库中。将内容粘贴到任何文本编辑器中,会看到以下代码:

SELECT CatID, Name, Gender, Age, Breed FROM tCat

若想在更复杂的数据库中查看此功能的效果,可为本地 MySQL 安装中的 MySQL 管理表创建一个数据库书签,点击几个表,会自动生成 SELECT 语句:

SELECT Host, Db, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
Create_tmp_table_priv, Lock_tables_priv FROM host
SELECT name,ret,dl,type FROM func
SELECT Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
Create_tmp_table_priv, Lock_tables_priv FROM db
SELECT Host, Db, User, Table_name, Column_name, Timestamp, Column_priv FROM
columns_priv

自定义复制功能不太直观,官方文档也不够完善,但理解后,它在编写围绕数据库模式的脚本时非常有用。

量子数据库插件再次展示了 Eclipse 的灵活性,借助它,Eclipse 成为了一个功能齐全的数据库客户端。设置过程包括安装 JDBC 驱动并将驱动指向所需的数据库,之后就可以在 Eclipse 中使用量子数据库视角编写 SQL 查询并查看结果。若编写 SQL 语句不是强项,量子数据库插件提供了一些快捷方式,可用于查询表、编写过滤器以及查看模式和数据库信息。

六、总结与应用建议

插件优势总结

量子数据库插件为 Eclipse 带来了极大的便利,使其摇身一变成为功能完备的数据库客户端。它的灵活性体现在多个方面,无论是数据库的连接设置,还是 SQL 语句的编写与执行,都能在 Eclipse 环境中高效完成。通过安装 JDBC 驱动并指向目标数据库,用户可以轻松地在 Eclipse 中使用量子数据库视角进行数据库操作,无需在不同工具之间频繁切换。

操作建议

对于不太擅长编写 SQL 语句的用户来说,量子数据库插件提供的各种快捷方式是一大福音。例如,在数据库书签视图中对表的操作,如查看表、删除所有行、查看表详细信息等,以及 SQL 语句菜单中的生成 DROP 语句向导,都能帮助用户更轻松地完成数据库操作。同时,过滤和排序功能以及自定义复制功能,也为数据处理和脚本编写提供了强大的支持。

定制化建议

为了提高工作效率,用户可以将量子 SQL 查询编辑器和量子表视图添加到 PHPEclipse 视角中。这样,在进行 PHP 代码开发时,无需离开当前环境就能输入 SQL 查询并查看结果,实现了开发环境的无缝集成,进一步提升了 Eclipse 的定制化程度,满足用户的特定需求。

操作流程回顾

以下是使用量子数据库插件的主要操作流程总结:
1. 数据库连接设置
- 在特定窗口为书签命名,点击“完成”按钮结束向导(若数据库支持模式,可点击“下一步”指定默认模式)。
- 双击数据库书签连接到数据库,插件会查询并展示数据库模式。
2. SQL 语句编写与执行
- 使用量子 SQL 查询编辑器编写 SQL 语句,点击“执行”图标发送语句到数据库。
- 若有多个 SQL 命令,可选择要执行的命令,执行结果在量子表视图中显示。
3. 结果集处理
- 利用量子表视图的工具处理结果集,如翻页、显示所有记录、刷新数据、过滤和排序等。
- 使用过滤和排序功能时,需通过特定方式填充表视图,设置过滤和排序条件后更新结果集。
4. 快捷方式使用
- 在数据库书签视图中右键单击表,使用各种快捷方式进行表操作。
- 在 SQL 语句菜单中使用生成 DROP 语句向导。
- 使用自定义复制功能简化 SQL 语句编写。

graph LR;
    A[数据库连接设置] --> B[SQL 语句编写与执行];
    B --> C[结果集处理];
    C --> D[快捷方式使用];

常见问题及解决方法

问题 解决方法
自定义复制功能不复制动态内容 确保在“Template”字段中输入 ${table_list} 变量
MySQL 处理字符串值出错 对于字符串列,在过滤和排序时勾选“Is String”复选框
过滤和排序功能无法使用 通过双击表或从表的上下文菜单中选择“查看表”填充表视图

未来展望

随着数据库技术的不断发展,量子数据库插件也有望进一步完善和扩展。例如,可能会增加对更多数据库类型的支持,优化用户界面和操作流程,提供更智能的 SQL 语句生成和优化功能等。用户可以持续关注插件的更新,以获取更好的使用体验。

总之,量子数据库插件为数据库开发和管理提供了一个强大而便捷的平台,通过合理利用其功能和快捷方式,用户可以更高效地完成数据库相关任务,提升工作效率和质量。无论是初学者还是有经验的开发者,都能从该插件中获得实用的帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值