TDengine/docs/zh/05-programming/03-insert.md
2025-12-04 18:25:02 +08:00

3.2 KiB
Raw Permalink Blame History

sidebar_label title description
写入数据 SQL 写入数据 使用 TDengine SQL 写入数据的开发指南

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

SQL 样例

这里有一些 INSERT 语句的基本样例。用户可以通过 TDengine CLITDengine Cloud 的数据浏览器或者通过 TDengine 连接器开发等执行这些语句。

一次写入一条

下面这条 INSERT 就将一条记录写入到表 d1001 中:

INSERT INTO d1001 VALUES (1538548685000, 10.3, 219, 0.31);

一次写入多条

TDengine 支持一次写入多条记录,比如下面这条命令就将两条记录写入到表 d1001 中:

INSERT INTO test.d1001 VALUES (1538548684000, 10.2, 220, 0.23) (1538548696650, 10.3, 218, 0.25);

一次写入多表

TDengine 也支持一次向多个表写入数据,比如下面这条命令就向 d1001 写入两条记录,向 d1002 写入一条记录:

INSERT INTO test.d1001 VALUES (1538548685000, 10.3, 219, 0.31) (1538548695000, 12.6, 218, 0.33) test.d1002 VALUES (1538548696800, 12.3, 221, 0.31);

详细的 SQL INSERT 语法规则参考 TDengine SQL 的数据写入

连接器样例

下面以智能电表为例,展示如何使用各语言连接器在名为 power 的数据库中,创建一个名为 meters 的超级表STABLE其表结构包含时间戳、电流、电压、相位等列以及分组 ID 和位置作为标签。

:::note IMPORTANT

  1. 在执行下面样例代码的之前,您必须先在 TDengine Cloud - 数据浏览器 页面创建一个名为 power 的数据库
  2. 如何在代码中建立和 TDengine Cloud 的连接,请参考 开发指南 - 建立连接

:::

这个例子中,我们使用 execute 方法来执行 SQL 和得到插入的行数。参数 conn 是类taosrest.TaosRestConnection 的一个实例,请参考建立连接-Python.

{{#include docs/examples/python/develop_tutorial.py:insert}}
{{#include docs/examples/java/src/main/java/com/taos/example/CloudTutorial.java:insert}}
{{#include docs/examples/go/tutorial/main.go:insert}}

在这个例子中,我们使用 exec 方法来执行 SQL。exec 是为非查询的 SQL 语句设计的,所有返回的数据都会被忽略。

{{#include docs/examples/rust/cloud-example/examples/tutorial.rs:insert}}
{{#include docs/examples/node/insert.js}}
{{#include docs/examples/csharp/cloud-example/inout/inout.csproj}}
{{#include docs/examples/csharp/cloud-example/inout/Program.cs:insert}}

:::note IMPORTANT

由于 RESTful 接口无状态,不能使用 USE db; 语句来切换数据库,所以在上面示例中使用了dbName.tbName指定表名。

:::