DBeaver列隐藏是结果集面板内的纯界面操作,不影响SQL语句;需聚焦表格单元格后右键操作,支持Ctrl+Click多选隐藏,导出默认不含隐藏列,状态不跨会话保留。

结果集面板里右键隐藏列,不是在SQL编辑器里操作
很多人误以为要在写完 SELECT 语句时手动删字段,其实 DBeaver 的列隐藏是纯界面层操作,不影响 SQL 本身。执行查询后,结果集表格显示出来,这时才开始操作列——**所有隐藏/显示动作都发生在结果集面板内,和 SQL 编辑器无关**。
常见错误现象:点了“隐藏列”没反应、右键菜单里找不到对应项、隐藏后刷新查询又全出来了——基本都是因为没聚焦到结果集表格上(比如当前光标还在 SQL 编辑区或空白处)。
- 确保鼠标悬停在结果集表格任意单元格内,再右键
- 菜单中找 隐藏列 或 显示列,不是“列设置”或“排序”
- 隐藏后列名会从表头消失,但数据仍在内存中;再次右键可从“显示列”子菜单里勾选恢复
Ctrl+Click 多选列 + 右键批量隐藏,比单列点更高效
当结果集有 20+ 列,只关心其中 3–4 列时,逐个右键隐藏太慢。Ctrl+Click 是关键加速点:按住 Ctrl 键,依次点击你想隐藏的列标题(如 create_time、update_by、version),全部选中后再右键 → “隐藏列”。
这个操作不会影响其他列的显示状态,也不会改变列顺序;被隐藏的列仍保留在结果集缓存里,随时可通过“显示列”菜单唤回。
- 不支持
Shift+Click连续选列,必须用Ctrl+Click - 如果误操作隐藏过多,直接右键 → “显示列” → 勾选全部即可一键还原
- 该功能对分页加载的结果集也生效,但仅作用于当前页已加载的列
隐藏列后导出数据,CSV/Excel 默认不包含隐藏列
这是容易被忽略的关键行为:当你用“高级复制”导出为 CSV、Excel 或 JSON 时,DBeaver **默认只导出当前可见列**。如果你刚隐藏了 id 和 status,导出的 Excel 就真没有这两列。
需要导出全部字段时,不能依赖“先隐藏再导出”,而要改用“复制所有行”或调整导出设置:
- 右键结果集 → “高级复制” → “复制所有行”,然后粘贴到 Excel(会保留所有列)
- 或导出前先右键 → “显示列” → 全部勾选,再执行导出
- 导出对话框里没有“包含隐藏列”选项,这是硬性限制,不是配置遗漏
重启 DBeaver 后隐藏状态不保留,需重新设置
列隐藏是会话级临时状态,关闭结果集标签页、切换查询、甚至重启 DBeaver 都会清空。它不像字体大小或连接配置那样写入 preferences,也没有全局开关。
如果你经常查同一张表、总要隐藏相同几列,与其每次手动操作,不如:
- 把常用字段精简写进 SQL,例如
SELECT id, name, created_at FROM user_info,从源头减少干扰列 - 用模板功能保存常用查询,比如新建模板
sel_user_basic,内容就是上面那条语句 - 避免依赖界面隐藏做长期数据筛选,它本质是个临时整理手段











