TDengine CLI (taos) 使用指南 —— Docker 本地开发实战

一、前言

TDengine 是一款高性能的时序数据库(TSDB),非常适合 IoT、传感器、工业监控等场景。
对于开发者和运维人员来说,CLI (taos) 是最稳妥的操作工具,相比 GUI 工具(DBeaver 或 TDengine Studio),不会踩 metadata 兼容性坑,也能快速执行 SQL 和调试数据。

本文将以 Docker 本地开发环境 为例,手把手介绍如何使用 taos CLI。


二、准备工作

假设你已经通过 Docker 启动了 TDengine 服务:

 
version: "3.8" services: tdengine: image: tdengine/tdengine:3.2.1.0 container_name: tdengine-server hostname: tdengine-server restart: always environment: - TZ=Asia/Shanghai volumes: - ./taos/dnode/data:/var/lib/taos - ./taos/dnode/log:/var/log/taos ports: - "6030:6030" # Native TCP - "6041:6041" # REST - "6042:6042" # WebSocket

启动服务:

 
docker-compose up -d

三、进入 CLI

TDengine 官方 CLI 名称为 taos,在容器中直接可用。

 
docker exec -it tdengine-server bash taos

进入后,提示符变成:

 
Connected to TDengine 3.x >

表示 CLI 已成功连接数据库。


四、基本操作

1. 查看数据库

 
show databases;

输出示例:

 
name sagoo_iot test

2. 切换数据库

注意:TDengine 的 SHOW TABLES / SHOW VIEWS 语句必须在数据库上下文中执行。

 
use sagoo_iot;

3. 查看表

 
show tables;

输出示例:

 
name device_data sensor_logs

4. 查看视图

 
show views;

TDengine 3.x 不支持 SHOW VIEWS LIKE '%…%',只能使用 show views;


5. 查看表结构

 
desc device_data;

示例输出:

 
name type ts TIMESTAMP temperature FLOAT humidity FLOAT

6. 查询数据

 
select * from device_data limit 10;

支持标准 SQL 子句,以及时序数据库常用聚合函数:

 
select ts, avg(temperature) as avg_temp from device_data where ts > now - 1d group by 1h;

7. 创建超级表(Super Table)

超级表是 TDengine 核心概念,支持统一管理结构相似的表:

 
create stable if not exists st_sensor ( ts timestamp, temperature float, humidity float ) tags (location nchar(64), device_id nchar(64));

插入数据:

 
insert into st_sensor using st_sensor tags("room1", "dev001") values(now, 23.5, 45.2);

五、CLI 常用命令(非 SQL)

命令 功能
\q 退出 CLI
\s 显示 session 信息
\l 列出当前数据库内的表
\h 帮助,显示 CLI 内部命令

六、查询任意数据库的表(兼容性方法)

如果你想在不切换数据库的情况下查看某个数据库的表或视图,可以查询 information_schema

 
-- 列出 sagoo_iot 的所有表 select table_name from information_schema.ins_tables where db_name='sagoo_iot'; -- 列出 sagoo_iot 的视图 select table_name from information_schema.ins_tables where db_name='sagoo_iot' and table_type='view';

这种方法兼容 DBeaver RS 驱动,也适合自动化脚本查询。


七、总结

  1. TDengine CLI (taos) 是最稳妥的操作工具,不会出现 GUI 工具的 metadata 或 JDBC 超时问题。

  2. SHOW TABLES / SHOW VIEWS 必须在数据库上下文中执行,否则会报错 “database not specified”。

  3. 对大表或生产数据,建议直接用 SQL Console 查询,而不是依赖 GUI 左侧树。

  4. 对业务开发,可结合 Go / Python / Java SDK,直接访问 REST 或 WS 端口。

posted @ 2026-01-29 22:52  若-飞  阅读(1)  评论(0)    收藏  举报