--- title: 数据导入 --- TDengine 提供多种方便的数据导入功能,一种按脚本文件导入,一种按数据文件导入,一种是 taosdump 工具导入本身导出的文件。 ## 按脚本文件导入 TDengine 的 shell 支持 source filename 命令,用于批量运行文件中的 SQL 语句。用户可将建库、建表、写数据等 SQL 命令写在同一个文件中,每条命令单独一行,在 shell 中运行 source 命令,即可按顺序批量运行文件中的 SQL 语句。以‘#’开头的 SQL 语句被认为是注释,shell 将自动忽略。 ## 按数据文件导入 TDengine 也支持在 shell 对已存在的表从 CSV 文件中进行数据导入。CSV 文件只属于一张表且 CSV 文件中的数据格式需与要导入表的结构相同,在导入的时候,其语法如下: ```sql insert into tb1 file 'path/data.csv'; ``` :::note 注意:如果 CSV 文件首行存在描述信息,请手动删除后再导入。如某列为空,填 NULL,无引号。\*\* ::: 例如,现在存在一个子表 d1001, 其表结构如下: ```sql taos> DESCRIBE d1001 Field | Type | Length | Note | ================================================================================= ts | TIMESTAMP | 8 | | current | FLOAT | 4 | | voltage | INT | 4 | | phase | FLOAT | 4 | | location | BINARY | 64 | TAG | groupid | INT | 4 | TAG | ``` 要导入的 data.csv 的格式如下: ```csv '2018-10-04 06:38:05.000',10.30000,219,0.31000 '2018-10-05 06:38:15.000',12.60000,218,0.33000 '2018-10-06 06:38:16.800',13.30000,221,0.32000 '2018-10-07 06:38:05.000',13.30000,219,0.33000 '2018-10-08 06:38:05.000',14.30000,219,0.34000 '2018-10-09 06:38:05.000',15.30000,219,0.35000 '2018-10-10 06:38:05.000',16.30000,219,0.31000 '2018-10-11 06:38:05.000',17.30000,219,0.32000 '2018-10-12 06:38:05.000',18.30000,219,0.31000 ``` 那么可以用如下命令导入数据: ```sql taos> insert into d1001 file '~/data.csv'; Query OK, 9 row(s) affected (0.004763s) ``` ## taosdump 工具导入 TDengine 提供了方便的数据库导入导出工具 taosdump。用户可以将 taosdump 从一个系统导出的数据,导入到其他系统中。具体使用方法,请参见:[TDengine 数据备份工具: taosdump](/reference/taosdump)。