一个命名空间的下面可以包含多个数据库,我们可以分别定义用户在命名空间还有数据库里的权限。用 DEFINE 可以在 SurrealDB 里定义命名空间还有数据库。
先重启一下 surrealdb 服务,清空一下系统里的数据。在 HTTP 客户端,复制一份请求,名字改成 “命名空间与数据库”。
INFO
执行一下 INFO FOR KV; 查看一下系统信息,这个 KV 指的是 Key Value。返回的结果显示 ns 里面还没有东西,ns 指的是 Namespace ,也就是命名空间。
DEFINE NAMESPACE
在上面用 DEFINE 定义两个命名空间,DEFINE NAMESPACE ninghao, DEFINE NAMESPACE paii,执行一下。这样再次查看 KV 信息的时候,显示系统里有两个命名空间,一个是 ninghao,一个是 paii。
DEFINE DATABASE
下面再用 DEFINE 定义两个数据库,先执行一下 USE NS ninghao,表示要使用 ninghao 这个命名空间,然后再执行一下 DEFINE DATABASE xuanwu,定义一个数据库,名字是 xuanwu,再执行 INFO FOR NS 查看一下命名空间相关信息。执行一下这组查询。
这里显示命名空间的下面有个数据库,名字是 xuanwu,这个数据库属于 ninghao 这个命名空间。
执行一下 USE NS paii,返回的结果显示这个命名空间里还没有数据库。执行一下 DEFINE DATABASE whale,再执行一下。这回显示 paii 这个命名空间的下面,有一个名字是 whale 的数据库。