> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coze.cn/llms.txt
> Use this file to discover all available pages before exploring further.

扣子编程的数据库功能提供了一种简单、高效的方式来管理和处理结构化数据，开发者和用户可通过自然语言插入、查询、修改或删除数据库中的数据。同时，也支持开发者开启多用户模式，支持更灵活的读写控制。
## 功能介绍 {#2e74ec1d}
扣子编程提供了类似传统软件开发中数据库的功能，允许用户以表格结构存储数据。这种数据存储方式非常适合组织和管理结构化数据，例如客户信息、产品列表、订单记录等。
扣子编程的数据库表支持单用户和多用户两种查询模式。
:::tip 说明
* 开发者指创建数据表的开发人员；用户指低代码智能体的使用者。
* 多用户模式仅在工作流的数据库节点中生效。
:::
<!-- @cols-width: 135,301,355 -->
| | | | \
| |**单用户模式** |**多用户模式** |
|---|---|---|
| | | | \
|读写模式 |有限读写模式 |完整读写模式 |
| | | | \
|读写权限 |开发者和用户都可以添加记录，但仅能读/修改/删除自己创建的来自同渠道的数据。 |开发者和用户都可读/写/修改/删除表中来自同渠道的任何数据，由业务逻辑控制读写权限。 |
| | | | \
|生效方式 |在创建数据库表时，选择单用户模式。 |在创建数据库表时，选择多用户模式。 |
| | | | \
|调用方式 |* 支持在 Prompt、Query 中通过 NL2SQL 方式及代码方式调用 |\
| |* 支持在工作流中通过 NL2SQL 方式及代码方式调用 |* 支持在 Prompt、Query 中通过 NL2SQL 方式及代码方式调用 |\
| | |* 支持在工作流中通过 NL2SQL 方式及代码方式调用 |
| | | | \
|应用场景示例 |* 一个记账智能体，每个用户/开发者,自己记录账单，自己查看。 |\
| |* 一个金融分析智能体，开发者导入上市公司近三年财报到数据表用于做金融分析，所有用户都可以读这份数据用于金融分析。 |* 一个漂流瓶智能体，用户可以发布漂流瓶，也可以随机读取别人的漂流瓶。 |\
| | |* 一个联网游戏智能体，游戏结束后，可以查看排行榜。 |

## 创建数据表 {#2985c6d8}
参考以下操作，创建数据表：
1. 登录[扣子编程](https://code.coze.cn/home)。
2. 在页面顶部选择目标工作空间，然后在左侧导航栏中单击**新建项目**。


3. 在**低代码模式**区域，单击**智能体开发**。
4. 根据页面提示，创建一个新智能体。
5. 在智能体编排页面，单击**数据库**对应的创建图标 **+**。
6. 在弹出的新窗口中，单击**新建数据表>自定义表格**创建数据表，或单击**新建数据表>基于模版创建**，复用示例表再进行修改。
7. 根据以下信息配置数据表，然后单击**保存**。
   <!-- @cols-width: 133,691 -->
   | | | \
   |**配置项** |**说明** |
   |---|---|
   | | | \
   |表格名称 |输入表名称。 |
   | | | \
   |表格描述 |输入表的描述信息。 |
   | | | \
   |Table 查询模式 |\
   | |数据表支持单用户和多用户两种查询模式。 |\
   | |> 开发者指创建数据表的开发人员；用户指使用智能体的终端用户。 |\
   | | |\
   | | |\
   | |* 单用户模式：开发者和用户都可以添加记录，但仅能读/修改/删除自己创建的来自同渠道的数据。 |\
   | |* 多用户模式：开发者和用户都可读/写/修改/删除表中来自同渠道的任何数据，由业务逻辑控制读写权限。 |\
   | |   :::notice 注意 |\
   | |   * 选择多用户模式后，会自动新增一个 uuid 字段，用来标识用户，由系统自动生成。 |\
   | |   * 在 Prompt 中，使用 NL2SQL 操作数据表时不需要包含 uuid 字段，但在工作流中使用多用户模式时，需要包含 uuid 字段。 |\
   | |   ::: |
   | | | \
   |渠道模式 |你可根据业务需求，选择以下三种数据库渠道隔离模式，灵活控制不同渠道的数据隔离方式。 |\
   | | |\
   | |* **渠道隔离**：各个不同渠道的数据相互隔离，对应渠道仅可访问对应渠道的数据。 |\
   | |* **扣子站内渠道共享，其他渠道隔离**：扣子站内渠道（扣子编程调试台、商店和模板渠道）数据共享。其他不同渠道之间数据相互隔离，对应渠道仅可访问对应渠道的数据。 |\
   | |* **渠道共享**：不同渠道之间的数据共享，支持跨渠道访问数据。 |
   | | | \
   |字段 |添加字段信息。 |\
   | | |\
   | |* **存储字段名称**：字段名称，只能包含小写字母、数字、`_`，必须以英文字母开头，最多 64 字符，不支持使用数据库关键词或保留字作为字段名称。扣子编程关键词和保留字列表，请参考[扣子数据库关键词和保留字有哪些？](/guides/database_faq#22ad0019)。 |\
   | |* **描述**：存储字段的补充说明，可以是对存储字段的自然语言描述、示例数据，也可以是格式说明等。 |\
   | |* **数据类型**：存储字段的数据类型，大语言模型会按照选择的数据类型对用户输入的内容进行处理和保存。目前支持的数据类型包括 String、Integer、Time、Number 和 Boolean。 |\
   | |* **设为索引**：用于设置索引字段，提高查询效率。Integer、Time、Number 和 Boolean 数据类型的字段，支持设为索引字段。 |\
   | |* **是否必要**：是否是必要字段。必要字段，是指用户在保存一行数据时必须提供对应字段信息。 |\
   | |   :::tip 说明 |\
   | |   新增数据库时，系统自动添加`id`、`sys_platform`、`uuid`、`bstudio_create_time`字段： |\
   | |    |\
   | |   * `id`：数据的唯一标识，作为数据库表的主键，确保了每条数据记录的唯一性。 |\
   | |   * `sys_platform`：数据产生或使用的渠道，例如微信小程序、扣子商店、飞书等，便于进行数据分类和统计分析。 |\
   | |   * `uuid`：用户唯一标识，由系统生成，确保用户数据的独立性和安全性。 |\
   | |   * `bstudio_create_time`：数据插入的时间。 |\
   | |   ::: |


## 使用数据表 {#32f3062a}
扣子编程支持在 Prompt 通过 NL2SQL 方式对数据表进行操作。为了方便演示和介绍数据功能，本文以一个记录日常开支的智能体为例。这个智能体中使用的数据表结构如下。
![Image=612x187](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/3c1e40e60030483e9fcc432251ef174f~tplv-goo7wpa0wc-image.image)
用户可通过自然语言与智能体进行交互来插入或查询数据库中的数据。智能体会根据用户的输入自动创建一条新的记录并将其存储在数据库中。同样，用户也可以使用自然语言查询数据库中的数据，例如询问某一天的总开支、某一个类别的开支等，智能体会根据用户的查询条件从数据库中检索相应的数据并返回给用户。
![Image=550x273](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/cf9281fb58174c7b9484b94ee56eab70~tplv-goo7wpa0wc-image.image)
参考以下操作，在 Prompt 中添加并使用数据表：

1. 在 Prompt 中明确说明要执行的操作和涉及的字段，包括字段的使用说明。这样，大语言模型可以更准确地根据用户输入来执行操作。
2. 在数据库功能区域添加要操作的数据表。
3. 在调试区域，进行测试。
   可单击调试区域右上方查看数据表中的数据。
   ![Image=463x288](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/c8c6773c42204231ae6b889e8fcfe6f5~tplv-goo7wpa0wc-image.image)




