#结果集操作
YDC可以通过执行SQL、表详情中单击【数据】两种方式查询表数据,YDC在结果集的基础上可视化的实现了对于表数据的查询,修改功能。
# 自定义唯一键
YDC可以对查询到的结果集进行修改,修改可能会出现几种情况:
- 表中存在主键,唯一键约束:此时以约束所在的字段为唯一标识符,进行数据修改。
- 表中不存在主键,唯一键且当前表为非heap表:此时需要用户选择表中的部分或者全部字段作为虚拟唯一标识符,进行数据修改。
- 表中不存在主键,唯一键且当前表为heap表,此时以rowid作为唯一标识符,进行数据修改。
自定义唯一键为YDC在没有主键或者唯一键的时候,或者非heap表的情况下,用来唯一标识数据的逻辑概念,只对YDC生效,不影响数据库物理约束。
自定义唯一键保存在数据源中,数据源删除后保存的自定义唯一键也同步删除。
鼠标选中需要修改的单元格,单击右键,选中【编辑单元格】,编辑单元格数据,单击【保存】,此时如果表中没有主键或者唯一键的话,就会弹出自定义唯一键界面,选择想要作为自定义唯一键的字段,修改自定义唯一键名称,单击【确定】保存到YDC。

YDC支持以下方式删除自定义唯一健:
- 结果集界面删除
结果集界面单击设置按钮,弹出数据源虚拟列设置,在该界面用户可以查看该数据源已经保存的自定义唯一键,并且单击【清除】或者【全部清除】删除已经保存的唯一键。

- 数据源编辑界面删除
选中数据源,单击【编辑】按钮,选择【虚拟列设置】菜单,单击【清除】或者【全部清除】删除已经保存的自定义唯一键。

# 常规数据类型
# 查询
测试数据准备:
CREATE TABLE test.ccc (id INT, name VARCHAR(20), age INT, addr VARCHAR (200))
INSERT INTO test.ccc VALUES(1,'lxxx',20,'山西长治');
INSERT INTO test.ccc VALUES(2,'hxxx',20,'广东深圳');
INSERT INTO test.ccc VALUES(3,'lsss',20,'湖北武汉');
INSERT INTO test.ccc VALUES(4,'zfff',20,'福建福州');
COMMIT;
通过SQL进行查询时需注意:
- YDC单次查询的结果集的最大数量会根据列的数量动态调整,逻辑如下:
| 结果集的列数y | 页显示条数的最大值 |
|---|---|
| 0 <= y < 64 | 1000 |
| 64 <= y < 128 | 500 |
| 128 <= y < 512 | 100 |
| 512 <= y < 1024 | 50 |
| 1024 <= y < 2048 | 20 |
| 2048 <= y | 10 |
- YDC单次查询的结果集数量与用户输入SQL语句中的limit和fetch有关:
- 用户输入的SQL中含有limit或者fetch字段
- 用户输入的limit大于1000的话单次查询的结果集数量为1000
- 如果用户输入的limit小于1000的话单次查询的结果集以用户的limit或者offset为主
- 用户输入的SQL中不含limit或者fetch字段
- 结果集默认数量为100
- YDC支持网格、文本两种数据展示格式。
SQL编辑器界面输入查询语句,单击执行按钮即可查看查询结果信息。
网格
用户单击结果集左侧栏的【网格】按钮,即可在网格中展示结果集数据。
Note:
只有在网格格式下才能编辑结果集。

文本
用户单击结果集左侧栏的【文本】按钮,即可以文本格式展示结果集数据。

通过表详情查询:
Schema列表单击【TEST】用户,选中【CCC】表,单击【数据】面板即可查询表数据信息。
Note:
YDC不支持UDT数据的查看,针对UDT类型数据仅显示UDT标签。
表详情同结果集一样也支持网格,文本两种展示数据格式。

YDC提供了针对结果集字段数据的搜索功能,选中想要搜索的列,单击列名称上面的放大镜,输入想要搜索的值单击【搜索】,即可实现对于该字段的搜索功能。
Note:
YDC搜索排序是针对数据库中数据进行检索排序,不是针对当前结果集。

YDC支持对多个字段进行搜索,如果对多个字段都添加了搜索信息,会以AND的逻辑进行搜索,填充搜索条件的字段放大镜会显示为蓝色。

YDC可以对结果集实现排序功能,单击字段名称旁边的排序按钮,即可对结果集实现升序或者降序排列。

YDC对结果集大小进行了限制,用户可以单击上一页或者下一页对结果集数据进行浏览,也可以设置单次获取结果集的数量。

# 修改
# 编辑单元格
数据库表存在主键、唯一键或者已经保存自定义唯一键后,鼠标选中需要修改的单元格,单击右键,选中【编辑单元格】或者双击单元格,编辑单元格界面如下:

编辑单元格数据,单击【保存】,即可保存修改结果到数据库,单击【撤销】即可取消修改。

# 添加行
鼠标放入结果集面板中,单击右键,选中【添加行】,添加行界面如下。

此时会出现一条待编辑的行,添加数据后,单击【保存】即可保存到数据库,单击【撤销】即可取消添加。

# 删除行
鼠标选中想要删除的行,单击右键,单击【删除行】,删除行界面如下。

即可出现一条待删除的行,单击【保存】,即可删除选中的数据,单击【撤销】即可取消删除。

# 大对象数据类型
BLOB, CLOB, NCLOB, JSON, ST_GEOMETRY, XMLTYPE 类型的数据。
# 查询
Note:
限制:JSON数据类型超过32000会被截断。
在网格和文本格式下,大对象数据只展示数据类型及数据大小。


在【网格】模式下双击数据,即可弹出大对象数据详情界面。
Note:
只支持查看10MB以内的大对象数据。

单击【保存到本地】,支持保存文件到本地。

# BLOB 类型
提供【文本-十六进制】、【文本-Base64】、【二进制】、【图像】四种展示方式。

# CLOB, NCLOB, JSON, ST_GEOMETRY, XMLTYPE 类型
只提供【文本】展示方式。

# 修改
在大对象数据详情弹窗中,支持直接编辑数据内容,也可点击【打开本地文件】按钮,从本地选择文件以覆盖当前数据。
Note:
只支持导入及保存10MB以内的数据。
当BLOB类型数据以【二进制】展示时:
1、支持以下两种编辑模式:
修改模式:双击目标单元格进入编辑状态。完成当前字节的修改后,将自动跳转至下一个单元格,便于连续编辑。
插入模式:双击单元格后,将在当前单元格后方插入一个新字节,默认值为 0x00。每次修改完成后,系统自动追加一个可编辑的字节,支持持续输入。

2、使用鼠标选中单个或多个单元格后,按下 【Backspace】 或 【Delete】 键,即可删除所选单元格的数据。

# 时间日期类型
Note:
TIMESTAMP WITH TIME ZONE受服务端:TIMESTAMP_TZ_FORMAT参数的影响,如果TIMESTAMP_TZ_FORMAT不是默认格式,YDC查询或者修改会报错。
# 修改
YDC针对所有的时间日期类型都提供了时间选择器。
时间日志类型通用操作如下:
- 单击【当前时间】即可设置为当前时间。
- 单击【重置为空】即可设置当前字段为NULL。
- 单击【重置为零】即可设置当前时间为零值。
- 单击【确定】即可应用当前修改。
- 单击【取消】即可丢弃当前修改。
DATE类型

TIME类型

TIMESTAMP类型

TIMESTAMP WITH LOCAL TIME ZONE类型

TIMESTAMP WITH TIME ZONE类型

INTERVAL YEAR TO MONTH类型

INTERVAL DAY TO SECOND类型


