167 lines
7.5 KiB
Plaintext
167 lines
7.5 KiB
Plaintext
---
|
||
title: 数据表格
|
||
description: 在 DBX 中浏览、筛选、编辑、预览 SQL 并导出表数据。
|
||
---
|
||
|
||
数据表格用于查看查询结果或表数据。它适合处理两类场景:快速浏览数据,以及在确认 SQL 后进行小范围数据修改。
|
||
|
||
## 浏览数据
|
||
|
||
DBX 使用虚拟滚动渲染表格,只渲染当前可视区域内的行。大表浏览时,滚动和选择操作不会因为一次性渲染所有行而明显变慢。
|
||
|
||
常用浏览操作:
|
||
|
||
- 拖拽列边缘调整列宽
|
||
- 双击列边缘根据内容自适应列宽
|
||
- 点击列头排序
|
||
- 使用行号定位数据
|
||
- 打开单元格详情查看长文本、JSON 或其他复杂值
|
||
|
||
## 过滤与排序
|
||
|
||
| 功能 | 适合场景 |
|
||
| -------- | ---------------------------------------- |
|
||
| 搜索 | 在当前结果中快速定位包含关键字的行 |
|
||
| WHERE | 在数据库层面筛选数据,适合大表和精确条件 |
|
||
| ORDER BY | 在数据库层面排序,适合稳定复现查询结果 |
|
||
|
||
<Callout type="info">大表场景优先使用 `WHERE` 和 `ORDER BY`。它们在数据库层面执行,通常比客户端搜索更稳定。</Callout>
|
||
|
||
## 行内编辑
|
||
|
||
可以直接在表格里修改数据:
|
||
|
||
- **修改单元格**:双击单元格进入编辑状态
|
||
- **新增行**:在表格中添加一行待插入记录
|
||
- **删除行**:选中行后标记为待删除
|
||
- **设置 NULL**:在单元格详情面板中明确写入 `NULL`
|
||
|
||
所有修改都会先暂存在本地。保存前,DBX 会展示即将执行的 SQL。
|
||
|
||
## 什么时候可以编辑
|
||
|
||
当 DBX 能识别目标表,并且有足够的键信息生成可审查的 `UPDATE`、`INSERT` 或 `DELETE` 语句时,结果才可编辑。直接打开表数据通常可以编辑;临时 join、聚合、表达式或没有可用主键/行标识的结果会视为只读。
|
||
|
||
| 结果类型 | 通常行为 |
|
||
| -------------------------- | ------------------------------------ |
|
||
| 打开的表数据 | 数据库和表支持时可编辑 |
|
||
| 简单 `SELECT * FROM table` | 有主键或行标识时通常可编辑 |
|
||
| Join、聚合、计算列 | 只读结果 |
|
||
| Redis 或 MongoDB 视图 | 使用对应专用编辑器,不走关系型行 SQL |
|
||
|
||
## SQL 预览
|
||
|
||
<Callout type="warn">数据修改不会在编辑后立即写入数据库。点击保存前,请先检查 SQL 预览,尤其是在生产环境连接上。</Callout>
|
||
|
||
SQL 预览会展示 `UPDATE`、`INSERT` 或 `DELETE` 语句。这个步骤可以帮助你确认:
|
||
|
||
- 更新条件是否正确
|
||
- 新增行的字段是否完整
|
||
- 删除操作是否命中预期行
|
||
- `NULL`、空字符串和默认值是否符合预期
|
||
|
||
如果预览 SQL 的影响范围过大,请取消保存,先缩小筛选条件或选择范围。
|
||
|
||
## 单元格详情
|
||
|
||
点击单元格可以打开详情面板。它适合处理表格内不方便直接编辑的值:
|
||
|
||
- 长文本
|
||
- JSON
|
||
- SQL 片段
|
||
- 多行内容
|
||
- 需要显式设置为 `NULL` 的字段
|
||
|
||
## 转置视图
|
||
|
||
切换转置视图可互换行和列。适用场景:
|
||
|
||
- 表有很多列但行数较少
|
||
- 需要并排比较列的元数据(类型、默认值、可空标志)
|
||
- 查看具有宽列的单个行
|
||
|
||
转置视图保留所有表格功能:排序、过滤、编辑和导出均可正常使用。
|
||
|
||
## 列格式化器
|
||
|
||
自定义列格式化器让你控制特定列值的显示方式:
|
||
|
||
- **日期时间格式化**:为日期和时间列选择显示格式
|
||
- **JSON 路径提取**:使用 JSONPath 表达式从 JSON/JSONB 列中提取特定字段
|
||
- **值掩码**:隐藏或部分掩码敏感值
|
||
- **自定义模板**:为列定义自己的显示模板
|
||
|
||
从列头菜单配置格式化器。格式化器仅影响显示——不会更改底层数据。
|
||
|
||
## 单元格详情编辑器
|
||
|
||
单元格详情面板为单个单元格值提供完整的编辑器:
|
||
|
||
- **值编辑器**:在更大的文本区域中编辑单元格内容,JSON 和 SQL 具有语法高亮
|
||
- **设置 NULL**:将单元格显式设置为 NULL
|
||
- **图片预览**:当单元格包含图片 URL 时,详情面板会显示渲染后的预览
|
||
- **时间编辑器**:日期和时间单元格使用专用的日期/时间选择器
|
||
|
||
## 多行操作
|
||
|
||
选中多行执行批量操作:
|
||
|
||
- **批量克隆**:一次性复制多行
|
||
- **批量删除**:一次性标记多行为待删除
|
||
- **批量复制**:以 TSV、CSV、JSON、Markdown 或 INSERT 语句格式复制多行
|
||
- **复制为 INSERT**:生成包含多行值的单条 `INSERT` 语句
|
||
- **复制为 UPDATE**:为选中的行生成 `UPDATE` 语句
|
||
- **复制不含主键**:生成排除自增主键的 INSERT 语句
|
||
|
||
## 列头控件
|
||
|
||
列头提供快速操作入口:
|
||
|
||
- **排序**:点击切换升序、降序或清除排序。右键点击可打开排序上下文菜单。
|
||
- **列可见性**:从可搜索的清单中显示或隐藏列
|
||
- **本地列过滤**:通过勾选特定值在当前结果集中过滤
|
||
- **紧凑模式**:在设置中启用后,列头操作(排序、格式化、过滤)收起为单个下拉菜单,给列名留出更多空间
|
||
- **紧凑过滤构建器**:在紧凑 UI 中使用多个条件构建复杂的客户端过滤
|
||
- **拖放列重排序**:点击并拖动列头即可重新排序。列顺序按表/查询保存,跨会话持久化
|
||
|
||
## 单元格详情编辑器
|
||
|
||
单元格详情面板为单个单元格值提供完整的编辑器:
|
||
|
||
- **值编辑器**:在更大的文本区域中编辑单元格内容,JSON 和 SQL 具有语法高亮
|
||
- **设置 NULL**:将单元格显式设置为 NULL
|
||
- **图片预览**:当单元格包含图片 URL 时,详情面板会显示渲染后的预览
|
||
- **时间编辑器**:日期和时间单元格使用专用的日期/时间选择器
|
||
- **二进制数据十六进制查看器**:以十六进制格式查看二进制数据,同时显示十六进制和 ASCII 表示,便于检查原始二进制内容
|
||
|
||
## 导出与复制
|
||
|
||
| 格式 | 用途 |
|
||
| -------- | ------------------------------------------------------ |
|
||
| CSV | 给 Excel、Numbers 或其他表格工具使用 |
|
||
| JSON | 给脚本、接口调试或程序处理使用 |
|
||
| Markdown | 粘贴到 Issue、PR、文档或聊天中 |
|
||
| INSERT | 将选中行复制为可执行的 `INSERT` 语句(支持单行或批量) |
|
||
| UPDATE | 将选中行复制为可执行的 `UPDATE` 语句 |
|
||
| XLSX | 从表格上下文菜单直接导出为 Excel 格式 |
|
||
|
||
### 复制带表头
|
||
|
||
DBX 支持在复制数据时包含列头:
|
||
|
||
- **复制列名**:只复制当前选择的列名
|
||
- **复制选择区域与表头**:复制选中的单元格及其列头
|
||
- **复制为带表头的 TSV/CSV**:在制表符分隔或逗号分隔输出中包含表头
|
||
|
||
这在将数据粘贴到电子表格、文档或分享查询结果时特别有用,可以保留列的上下文信息。
|
||
|
||
导出前建议先确认当前筛选和排序条件,避免导出范围和预期不一致。
|
||
|
||
## 分页与大结果集
|
||
|
||
DBX 会通过分页和虚拟滚动让大结果集保持响应。面对大表时,优先使用数据库侧的 `WHERE` 和 `ORDER BY`,不要只依赖客户端搜索;数据库可以利用索引,并返回更小的结果集。分页大小可配置并跨会话持久化。
|
||
|
||
### 行号显示
|
||
|
||
数据表格在最左侧列显示行号。在翻页浏览大结果集时,行号会反映当前页面位置,帮助你跟踪正在查看的记录。当应用排序或筛选时,行号会自动调整。
|