Navicat 不提供可视化编辑器,仅支持在数据网格中临时隐藏字段列,该操作仅影响当前表UI展示,不改变数据、计算或权限;隐藏列非安全机制,导出和查询默认仍包含全部字段。
navicat 本身没有“可视化编辑器”这个独立模块——它不提供类似 bi 工具(如 oracle analytics)中那种拖拽字段、设置隐藏列用于计算但不显示的语法窗格。你在 navicat 里能做的,是**在数据查看网格(data grid)中临时隐藏某些字段列**,仅影响当前表的展示界面,不参与任何底层计算或筛选逻辑。
在数据表网格中右键隐藏列
这是最常用、最直接的方式,适用于快速清理冗余字段,聚焦关键数据:
- 双击打开某张表(例如
orders),进入数据查看页 - 在列标题任意位置右键 → 选择「显示/隐藏列」(Navicat 16.1+ 版本工具栏还新增了
列按钮,点一下更快) - 弹出的对话框中,取消勾选你不想看到的字段,比如
created_at、updated_by - 确认后,这些列立即从网格中消失,但数据仍完整保留在数据库中
注意:该操作只对当前连接、当前用户、当前表生效;换台电脑、换账号、甚至刷新页面后,都会恢复默认显示状态。
用“仅显示指定数据库”间接控制左侧导航可见性
如果你真正想“隐藏”的不是字段,而是左侧导航树里的某个数据库(比如测试库 test_db),那得换思路——Navicat 不允许直接删/藏节点,但可通过连接级过滤实现视觉隐藏:
- 右键对应连接 → 「编辑连接」→ 切到「高级」选项卡
- 勾选「仅显示指定数据库」,然后在输入框填入你**想保留的库名**,英文逗号分隔,例如:
prod_db,report_db - 保存并重新连接
⚠️ 容易踩的坑:仅显示指定数据库 是客户端过滤,不是权限控制。如果填错库名(大小写不符、多空格、漏逗号),Navicat 会静默显示空导航栏,不会报错提醒——必须手动核对拼写和 MySQL 实际库名。
别把“列设置”和“权限控制”搞混
有些用户误以为隐藏列能限制数据访问,其实完全不能:
- 隐藏列只是 UI 层面的视觉折叠,
SELECT *依然能查出所有字段 - 导出数据时,默认仍会导出全部列(除非你手动勾选“仅导出可见列”)
- 真正限制字段可见性,得靠数据库权限,比如用
GRANT SELECT (id,name) ON mydb.users TO 'appuser'@'%'——但这需要 MySQL 8.0.23+ 支持列级权限,且 Navicat 不会因此改变界面显示
也就是说:Navicat 的“隐藏列”纯属看图方便,不是安全手段,也不是计算上下文的一部分。
真正容易被忽略的是:不同 Navicat 版本对“隐藏列”状态的持久化程度不同。16.1 之后支持按表记忆隐藏状态,但若你升级或重装,或者切换连接配置文件,这些偏好设置很可能丢失——别指望它像 Excel 那样记住你的列宽和隐藏关系。


















