不写 SQL 的可视化数据库:NocoDB 如何把你的表变成电子表格
2026/8/30 11:37:49 网站建设 项目流程

不写 SQL 的可视化数据库:NocoDB 如何把你的表变成电子表格

【免费下载链接】nocodb🔥 🔥 🔥 A Free & Self-hostable Airtable Alternative项目地址: https://gitcode.com/GitHub_Trending/no/nocodb

如果你有一张已经跑在生产库里的表,想要给非技术同事一个能直接看、直接改的界面,但又不想把数据搬到第三方 SaaS 上去——NocoDB 就是干这件事的。它是一个免费、可自托管的开源可视化数据库前端:把你现有的数据库表渲染成网格、看板、日历、表单等界面,同时自动生成一套可直接调用的 REST API,整个过程不需要手写 SQL。

先跑起来:三种部署方式

新手最关心的不是功能列表,而是"多久能看见界面"。NocoDB 的官方安装方式都集中在 README.md,这里挑三条最常用的路径。

方式一:Docker + SQLite,一条命令出界面。适合个人试用和内部小工具:

docker run -d --name noco -v "$(pwd)"/nocodb:/usr/app/data/ -p 8080:8080 nocodb/nocodb:latest

其中-v挂载的目录是持久化数据目录:NocoDB 的元数据(你建的表结构、视图、账号)都存这里,SQLite 数据文件也在里面,容器删了数据不丢。启动后访问http://localhost:8080,按引导建管理员账号即可。

方式二:Docker + 你自己的 PostgreSQL。适合想认真用的团队,只需加一个环境变量告诉它库在哪:

docker run -d --name noco \ -v "$(pwd)"/nocodb:/usr/app/data/ -p 8080:8080 \ -e NC_DB="pg://host.docker.internal:5432?u=root&p=password&d=d1" \ nocodb/nocodb:latest

NC_DB是一个连接串(driver://host:port?u=用户&p=密码&d=库名),NocoDB 会按这个配置直连你的库,而不是自建一份数据。

方式三:Auto-upstall 一键装生产环境。仓库里带了一个安装脚本 docker-compose/1_Auto_Upstall/noco.sh,它会替你装好 Docker、用 docker-compose 拉起 NocoDB + PostgreSQL + Redis + Traefik(反向代理),并且配好 SSL 证书自动续期。重复执行还能把实例升级到最新版。

💡 三种方式的取舍很简单:验证想法选 SQLite,正式使用选 PostgreSQL 或 Auto-upstall。

四条主线工作流:看、协作、搬、接

装好之后,日常使用其实就围绕四件事转。下面按这个顺序讲。

1. 看数据:一张表,多种"镜头"

打开任意一张表,默认是网格视图——长得像电子表格,但每一行背后是真实数据库记录。你可以筛选、排序、分组、隐藏列,也可以直接双击单元格改数据,改动实时落库。

同一份数据还能换"镜头"看,视图之间共享同一批记录,只是呈现方式不同:

  • 看板视图:把某一列(比如"状态")的取值变成列,拖卡片就能改状态,适合跟进类数据;
  • 日历视图:按日期字段铺到日历格子里,适合日程、排期类数据;
  • 表单视图:把字段排成一张录入表单,可以对外发布给没有系统账号的人填。

字段类型比 Excel 丰富得多:公式、货币、百分比、评分、附件、外链(Link to another record)、Lookup(从关联表带值过来)、Rollup(对关联行做汇总)等,这些对应数据库里的真实列,不是界面层的假数据。

2. 协作数据:谁能看、谁能改,由你定义

NocoDB 把"权限"拆成了几层,这一点对多人使用很重要:

  • 角色分级:从 Owner 到 Viewer 有多级角色,控制谁能动表结构、谁只能看;
  • 视图级共享:可以只把某一个视图(而不是整张表)公开或加密分享给外部;
  • RLS(Row Level Security,行级安全):按规则限定每个用户只能看到自己"有权"的行和列,比如"只能看自己名下的订单"。

多人同时在一张表上改数据时是实时同步的,界面右上角能看到协作成员:

3. 搬数据:导入导出不用手工

数据进出走三条路:

需求做法
把存量 CSV 灌进表表内直接导入,首行当列名
把整张表/视图导出导出为 CSV 等格式,仓库里还有现成的 />

4. 接系统:API、Webhook 与插件

NocoDB 在每张表上自动生成 REST API:你不用写接口代码,拿一个 API token 就能用curl或它家的 SDK 增删改查。反向的通知靠Webhook(一种"事件发生时主动回调你指定 URL"的机制)和工作流:数据变更时触发 Slack、Discord 消息,或走邮件插件发通知。

集成插件按用途分三类,源码在 packages/nocodb/src/plugins/ 下,每类对应一个目录:

  • 聊天:Slack、Discord、Mattermost、Teams 等;
  • 邮件:SMTP、AWS SES、MailerSend 等;
  • 存储:AWS S3、GCS、MinIO、Backblaze 等对象存储,用来存附件。

怎么选底层数据库

NocoDB 自己不"存"业务数据,它连的是你指定的数据库引擎,代码里对应五种驱动:sqlitepgmysqlmssqloracle(见 packages/nocodb/src/dbQueryClient/)。选择逻辑:

  • SQLite:单文件库,零配置,个人/试用首选;
  • PostgreSQL:官方生产推荐的默认搭配,Auto-upstall 就是它;
  • MySQL / MariaDB:已有 MySQL 库的团队直接连,不用迁数据;
  • MSSQL / Oracle:有存量企业库也能接。

也就是说,"要不要换数据库"这个问题基本不存在——NocoDB 是架在你现有库上面的一层界面。

两个高频问题

Q:不用 Docker 能装吗?能。官方对 macOS / Linux / Windows 各架构提供单文件二进制,curl下载下来直接执行即可,但官方定位是本地快速测试,生产仍建议 Docker 方案。

Q:数据安全性怎么保证?权限模型(角色 + 行级/列级控制)负责"谁能看什么";自托管本身负责"数据在谁的机器上"。Auto-upstall 部署会自动配 SSL,生产环境再配上常规数据库备份即可。


🚀 想动手的话,用本文方式一的 Docker 命令花两分钟起一个实例,把一张你熟的表接进去,比读十篇介绍都直观。更多细节可以看仓库内的 后端源码目录 和 前端源码目录,前端界面就是上面那些视图的实现所在。

【免费下载链接】nocodb🔥 🔥 🔥 A Free & Self-hostable Airtable Alternative项目地址: https://gitcode.com/GitHub_Trending/no/nocodb

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询