blob: ca0fd5ed0664f3ae10d98b7bd94e920279b93a6a [file]
<!doctype html>
<html lang="zh-CN" data-theme="light">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="generator" content="VuePress 2.0.0-rc.26" />
<meta name="theme" content="VuePress Theme Hope 2.0.0-rc.99" />
<style>
:root {
--vp-c-bg: #fff;
}
[data-theme="dark"] {
--vp-c-bg: #1b1b1f;
}
html,
body {
background: var(--vp-c-bg);
}
</style>
<script>
const userMode = localStorage.getItem("vuepress-theme-hope-scheme");
const systemDarkMode =
window.matchMedia &&
window.matchMedia("(prefers-color-scheme: dark)").matches;
if (userMode === "dark" || (userMode !== "light" && systemDarkMode)) {
document.documentElement.setAttribute("data-theme", "dark");
}
</script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"测点管理","image":["https://iotdb.apache.org/img/%E6%A8%A1%E6%9D%BF.png","https://iotdb.apache.org/img/template.jpg"],"dateModified":"2026-04-10T04:10:20.000Z","author":[]}</script><meta property="og:url" content="https://iotdb.apache.org/zh/UserGuide/dev-1.3/Basic-Concept/Operate-Metadata_apache.html"><meta property="og:site_name" content="IoTDB Website"><meta property="og:title" content="测点管理"><meta property="og:description" content="测点管理 数据库管理 数据库(Database)可以被视为关系数据库中的Database。 创建数据库 我们可以根据存储模型建立相应的数据库。如下所示: 需要注意的是,推荐创建一个 database. Database 的父子节点都不能再设置 database。例如在已经有root.ln和root.sgcc这两个 database 的情况下,创建roo..."><meta property="og:type" content="article"><meta property="og:image" content="https://iotdb.apache.org/img/%E6%A8%A1%E6%9D%BF.png"><meta property="og:locale" content="zh-CN"><meta property="og:locale:alternate" content="en-US"><meta property="og:updated_time" content="2026-04-10T04:10:20.000Z"><meta property="article:modified_time" content="2026-04-10T04:10:20.000Z"><link rel="alternate" hreflang="en-us" href="https://iotdb.apache.org/UserGuide/dev-1.3/Basic-Concept/Operate-Metadata_apache.html"><script async src="https://widget.kapa.ai/kapa-widget.bundle.js" data-website-id="2d37bfdd-8d98-40ba-9223-9d4f81bfb327" data-project-name="Apache IoTDB" data-project-color="#FFFFFF" data-button-z-index="1999" data-button-padding="4px" data-button-border-radius="4px" data-button-image-height="24px" data-button-image-width="20px" data-button-text-color="#9E2878" data-project-logo="https://iotdb.apache.org/img/logo.svg" data-button-position-right="16px" data-button-position-bottom="8px" data-button-height="56px" data-button-width="48px" data-button-text="Ask" data-modal-override-open-selector="#custom-ask-ai-button" data-modal-image-width="150px" data-modal-title="AI Docs" data-modal-title-color="#9E2878" data-deep-thinking-button-active-bg-color="#F6F7F8" data-deep-thinking-button-active-text-color="#9E2878" data-deep-thinking-button-active-hover-text-color="#9E2878" data-modal-disclaimer="这是一个针对 Apache IoTDB 的定制化大型语言模型,能够访问所有[文档](iotdb.apache.org/docs/)、[GitHub 公开问题、PR 和自述文件](github.com/apache/iotdb)。&#10;&#10;
如果您遇到 <Error in verifying browser for feedback submission. Captcha token could not be obtained.> 请确保您能够顺畅访问 Google 服务。" data-user-analytics-fingerprint-enabled="true" data-consent-required="true" data-consent-screen-disclaimer="点击<I agree, let's chat>即表示您同意按照 kapa.ai 的[隐私政策](https://www.kapa.ai/content/privacy-policy)使用 AI 助手。本服务使用 reCAPTCHA,您需要同意 Google 的[隐私政策](https://policies.google.com/privacy)和[服务条款](https://policies.google.com/terms)。继续操作即表示您明确同意 kapa.ai 和 Google 的隐私政策。" data-language="zh"></script><link rel="icon" href="/favicon.ico"><meta name="Description" content="Apache IoTDB: Time Series Database for IoT"><meta name="Keywords" content="TSDB, time series, time series database, IoTDB, IoT database, IoT data management, 时序数据库, 时间序列管理, IoTDB, 物联网数据库, 实时数据库, 物联网数据管理, 物联网数据"><meta name="baidu-site-verification" content="wfKETzB3OT"><meta name="google-site-verification" content="mZWAoRY0yj_HAr-s47zHCGHzx5Ju-RVm5wDbPnwQYFo"><script type="text/javascript">var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(["setDoNotTrack", true]);
_paq.push(["disableCookies"]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '56']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script><title>测点管理 | IoTDB Website</title><meta name="description" content="测点管理 数据库管理 数据库(Database)可以被视为关系数据库中的Database。 创建数据库 我们可以根据存储模型建立相应的数据库。如下所示: 需要注意的是,推荐创建一个 database. Database 的父子节点都不能再设置 database。例如在已经有root.ln和root.sgcc这两个 database 的情况下,创建roo...">
<link rel="preload" href="/assets/style-JraSdRX4.css" as="style"><link rel="stylesheet" href="/assets/style-JraSdRX4.css">
<link rel="modulepreload" href="/assets/app-pmkzp6TS.js"><link rel="modulepreload" href="/assets/Operate-Metadata_apache.html-DKSh9m-v.js"><link rel="modulepreload" href="/assets/模板-D99xzuGy.js"><link rel="modulepreload" href="/assets/template-DPwEzAzX.js"><link rel="modulepreload" href="/assets/69792176-1718f400-1201-11ea-861a-1a83c07ca144-ptrAGa9N.js">
</head>
<body>
<div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container external-link-icon has-toc" vp-container><!--[--><header id="navbar" class="vp-navbar" vp-navbar><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><a class="route-link vp-brand" href="/zh/" aria-label="带我回家"><img class="vp-nav-logo" src="/logo.png" alt><!----><!----></a><!--]--></div><div class="vp-navbar-center"><!--[--><!--]--></div><div class="vp-navbar-end"><!--[--><!--[--><div id="docsearch-container" style="display:none;"></div><div class="docsearch-placeholder"><button type="button" aria-label="搜索文档" aria-keyshortcuts="Control+k" class="DocSearch DocSearch-Button"><span class="DocSearch-Button-Container"><svg width="20" height="20" viewBox="0 0 24 24" aria-hidden="true" class="DocSearch-Search-Icon"><circle cx="11" cy="11" r="8" stroke="currentColor" fill="none" stroke-width="1.4"></circle><path d="m21 21-4.3-4.3" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">搜索文档</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key DocSearch-Button-Key--ctrl">Ctrl</kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--><div><button id="custom-ask-ai-button"> ✨ Ask AI </button></div><nav class="vp-nav-links"><div class="vp-nav-item hide-in-mobile"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="文档"><!--[--><!---->文档<!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/UserGuide/latest/QuickStart/QuickStart_apache.html" aria-label="v2.0.x"><!---->v2.0.x<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/UserGuide/V1.3.x/QuickStart/QuickStart_apache.html" aria-label="v1.3.x"><!---->v1.3.x<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/UserGuide/V1.2.x/QuickStart/QuickStart.html" aria-label="v1.2.x"><!---->v1.2.x<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/UserGuide/V0.13.x/QuickStart/QuickStart.html" aria-label="v0.13.x"><!---->v0.13.x<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><a class="auto-link external-link" href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=177051872" aria-label="系统设计" rel="noopener noreferrer" target="_blank"><!---->系统设计<!----></a></div><div class="vp-nav-item hide-in-mobile"><a class="route-link auto-link" href="/zh/Download/" aria-label="下载"><!---->下载<!----></a></div><div class="vp-nav-item hide-in-mobile"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="社区"><!--[--><!---->社区<!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/About.html" aria-label="关于社区"><!---->关于社区<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/Development-Guide.html" aria-label="贡献指南"><!---->贡献指南<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/Community-Partners.html" aria-label="社区伙伴"><!---->社区伙伴<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/Feedback.html" aria-label="交流与反馈"><!---->交流与反馈<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/Events-and-Reports.html" aria-label="活动与报告"><!---->活动与报告<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/Committers.html" aria-label="Committers"><!---->Committers<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="ASF"><!--[--><!---->ASF<!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/" aria-label="基金会" rel="noopener noreferrer" target="_blank"><!---->基金会<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/licenses/" aria-label="许可证" rel="noopener noreferrer" target="_blank"><!---->许可证<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/security/" aria-label="安全" rel="noopener noreferrer" target="_blank"><!---->安全<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/foundation/sponsorship.html" aria-label="赞助" rel="noopener noreferrer" target="_blank"><!---->赞助<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/foundation/thanks.html" aria-label="致谢" rel="noopener noreferrer" target="_blank"><!---->致谢<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/events/current-event" aria-label="活动" rel="noopener noreferrer" target="_blank"><!---->活动<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://privacy.apache.org/policies/privacy-policy-public.html" aria-label="隐私" rel="noopener noreferrer" target="_blank"><!---->隐私<!----></a></li></ul></button></div></div></nav><div class="vp-nav-item"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="选择语言"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon i18n-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="i18n icon" name="i18n" style="width:1rem;height:1rem;vertical-align:middle;"><path d="M379.392 460.8 494.08 575.488l-42.496 102.4L307.2 532.48 138.24 701.44l-71.68-72.704L234.496 460.8l-45.056-45.056c-27.136-27.136-51.2-66.56-66.56-108.544h112.64c7.68 14.336 16.896 27.136 26.112 35.84l45.568 46.08 45.056-45.056C382.976 312.32 409.6 247.808 409.6 204.8H0V102.4h256V0h102.4v102.4h256v102.4H512c0 70.144-37.888 161.28-87.04 210.944L378.88 460.8zM576 870.4 512 1024H409.6l256-614.4H768l256 614.4H921.6l-64-153.6H576zM618.496 768h196.608L716.8 532.48 618.496 768z"></path></svg><!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="route-link auto-link" href="/UserGuide/dev-1.3/Basic-Concept/Operate-Metadata_apache.html" aria-label="English"><!---->English<!----></a></li><li class="vp-dropdown-item"><a class="route-link route-link-active auto-link" href="/zh/UserGuide/dev-1.3/Basic-Concept/Operate-Metadata_apache.html" aria-label="简体中文"><!---->简体中文<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><button type="button" class="vp-color-mode-switch" id="color-mode-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" name="auto" style="display:none;"><path d="M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm0-840c-198.78 0-360 161.22-360 360 0 198.84 161.22 360 360 360s360-161.16 360-360c0-198.78-161.22-360-360-360zm0 660V212c165.72 0 300 134.34 300 300 0 165.72-134.28 300-300 300z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" name="dark" style="display:none;"><path d="M524.8 938.667h-4.267a439.893 439.893 0 0 1-313.173-134.4 446.293 446.293 0 0 1-11.093-597.334A432.213 432.213 0 0 1 366.933 90.027a42.667 42.667 0 0 1 45.227 9.386 42.667 42.667 0 0 1 10.24 42.667 358.4 358.4 0 0 0 82.773 375.893 361.387 361.387 0 0 0 376.747 82.774 42.667 42.667 0 0 1 54.187 55.04 433.493 433.493 0 0 1-99.84 154.88 438.613 438.613 0 0 1-311.467 128z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" name="light" style="display:block;"><path d="M952 552h-80a40 40 0 0 1 0-80h80a40 40 0 0 1 0 80zM801.88 280.08a41 41 0 0 1-57.96-57.96l57.96-58a41.04 41.04 0 0 1 58 58l-58 57.96zM512 752a240 240 0 1 1 0-480 240 240 0 0 1 0 480zm0-560a40 40 0 0 1-40-40V72a40 40 0 0 1 80 0v80a40 40 0 0 1-40 40zm-289.88 88.08-58-57.96a41.04 41.04 0 0 1 58-58l57.96 58a41 41 0 0 1-57.96 57.96zM192 512a40 40 0 0 1-40 40H72a40 40 0 0 1 0-80h80a40 40 0 0 1 40 40zm30.12 231.92a41 41 0 0 1 57.96 57.96l-57.96 58a41.04 41.04 0 0 1-58-58l58-57.96zM512 832a40 40 0 0 1 40 40v80a40 40 0 0 1-80 0v-80a40 40 0 0 1 40-40zm289.88-88.08 58 57.96a41.04 41.04 0 0 1-58 58l-57.96-58a41 41 0 0 1 57.96-57.96z"></path></svg></button></div><div class="vp-nav-item vp-action"><a class="vp-action-link" href="https://github.com/apache/iotdb" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" name="github" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><path d="M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"></path></svg></a></div><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar" vp-sidebar><!--[--><p class="vp-sidebar-header iotdb-sidebar-header"><span class="vp-sidebar-title"></span></p><!----><!--]--><ul class="vp-sidebar-links"></ul><!----></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!----><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->测点管理</h1><div class="page-info"><!----><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon" name="calendar"><path d="M716.4 110.137c0-18.753-14.72-33.473-33.472-33.473-18.753 0-33.473 14.72-33.473 33.473v33.473h66.993v-33.473zm-334.87 0c0-18.753-14.72-33.473-33.473-33.473s-33.52 14.72-33.52 33.473v33.473h66.993v-33.473zm468.81 33.52H716.4v100.465c0 18.753-14.72 33.473-33.472 33.473a33.145 33.145 0 01-33.473-33.473V143.657H381.53v100.465c0 18.753-14.72 33.473-33.473 33.473a33.145 33.145 0 01-33.473-33.473V143.657H180.6A134.314 134.314 0 0046.66 277.595v535.756A134.314 134.314 0 00180.6 947.289h669.74a134.36 134.36 0 00133.94-133.938V277.595a134.314 134.314 0 00-133.94-133.938zm33.473 267.877H147.126a33.145 33.145 0 01-33.473-33.473c0-18.752 14.72-33.473 33.473-33.473h736.687c18.752 0 33.472 14.72 33.472 33.473a33.145 33.145 0 01-33.472 33.473z"></path></svg><span data-allow-mismatch="text">2023/7/10</span><meta property="datePublished" content="2023-07-10T03:11:17.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon" name="timer"><path d="M799.387 122.15c4.402-2.978 7.38-7.897 7.38-13.463v-1.165c0-8.933-7.38-16.312-16.312-16.312H256.33c-8.933 0-16.311 7.38-16.311 16.312v1.165c0 5.825 2.977 10.874 7.637 13.592 4.143 194.44 97.22 354.963 220.201 392.763-122.204 37.542-214.893 196.511-220.2 389.397-4.661 5.049-7.638 11.651-7.638 19.03v5.825h566.49v-5.825c0-7.379-2.849-13.981-7.509-18.9-5.049-193.016-97.867-351.985-220.2-389.527 123.24-37.67 216.446-198.453 220.588-392.892zM531.16 450.445v352.632c117.674 1.553 211.787 40.778 211.787 88.676H304.097c0-48.286 95.149-87.382 213.728-88.676V450.445c-93.077-3.107-167.901-81.297-167.901-177.093 0-8.803 6.99-15.793 15.793-15.793 8.803 0 15.794 6.99 15.794 15.793 0 80.261 63.69 145.635 142.01 145.635s142.011-65.374 142.011-145.635c0-8.803 6.99-15.793 15.794-15.793s15.793 6.99 15.793 15.793c0 95.019-73.789 172.82-165.96 177.093z"></path></svg><span>大约 24 分钟</span><meta property="timeRequired" content="PT24M"></span><!----><!----></div><hr></div><!----><div class="" vp-content><!----><div id="markdown-content"><h1 id="测点管理" tabindex="-1"><a class="header-anchor" href="#测点管理"><span>测点管理</span></a></h1><h2 id="数据库管理" tabindex="-1"><a class="header-anchor" href="#数据库管理"><span>数据库管理</span></a></h2><p>数据库(Database)可以被视为关系数据库中的Database。</p><h3 id="创建数据库" tabindex="-1"><a class="header-anchor" href="#创建数据库"><span>创建数据库</span></a></h3><p>我们可以根据存储模型建立相应的数据库。如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB &gt; CREATE DATABASE root.ln</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>需要注意的是,推荐创建一个 database.</p><p>Database 的父子节点都不能再设置 database。例如在已经有<code>root.ln</code><code>root.sgcc</code>这两个 database 的情况下,创建<code>root.ln.wf01</code> database 是不可行的。系统将给出相应的错误提示,如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; CREATE DATABASE root.ln.wf01</span></span>
<span class="line"><span>Msg: 300: root.ln has already been created as database.</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>Database 节点名命名规则:</p><ol><li>节点名可由<strong>中英文字符、数字、下划线(_)、英文句号(.)、反引号(`)</strong> 组成</li><li>若节点名为以下情况,则必须用<strong>反引号(`)</strong> 将整个名称包裹。 <ul><li>纯数字(如 12345)</li><li>含有特殊字符(如 . 或 _)并可能引发歧义的名称(如 db.01、_temp)</li></ul></li><li>反引号的特殊处理:<br> 若节点名本身需要包含反引号(`),则需用<strong>两个反引号(``)</strong> 表示一个反引号。例如:命名为`db123``(本身包含一个反引号),需写为 `db123```。</li></ol><p>还需注意,如果在 Windows 系统上部署,database 名是大小写不敏感的。例如同时创建<code>root.ln</code><code>root.LN</code> 是不被允许的。</p><h3 id="查看数据库" tabindex="-1"><a class="header-anchor" href="#查看数据库"><span>查看数据库</span></a></h3><p>在 database 创建后,我们可以使用 <a class="route-link" href="/zh/UserGuide/dev-1.3/SQL-Manual/SQL-Manual.html#%E6%9F%A5%E7%9C%8B%E6%95%B0%E6%8D%AE%E5%BA%93">SHOW DATABASES</a> 语句和 <a class="route-link" href="/zh/UserGuide/dev-1.3/SQL-Manual/SQL-Manual.html#%E6%9F%A5%E7%9C%8B%E6%95%B0%E6%8D%AE%E5%BA%93">SHOW DATABASES &lt;PathPattern&gt;</a> 来查看 database,SQL 语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; show databases</span></span>
<span class="line"><span>IoTDB&gt; show databases root.*</span></span>
<span class="line"><span>IoTDB&gt; show databases root.**</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>执行结果为:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+-------------+----+-------------------------+-----------------------+-----------------------+</span></span>
<span class="line"><span>| database| ttl|schema_replication_factor|data_replication_factor|time_partition_interval|</span></span>
<span class="line"><span>+-------------+----+-------------------------+-----------------------+-----------------------+</span></span>
<span class="line"><span>| root.sgcc|null| 2| 2| 604800|</span></span>
<span class="line"><span>| root.ln|null| 2| 2| 604800|</span></span>
<span class="line"><span>+-------------+----+-------------------------+-----------------------+-----------------------+</span></span>
<span class="line"><span>Total line number = 2</span></span>
<span class="line"><span>It costs 0.060s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="删除数据库" tabindex="-1"><a class="header-anchor" href="#删除数据库"><span>删除数据库</span></a></h3><p>用户可以使用<code>DELETE DATABASE &lt;PathPattern&gt;</code>语句删除该路径模式匹配的所有的数据库。在删除的过程中,需要注意的是数据库的数据也会被删除。</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB &gt; DELETE DATABASE root.ln</span></span>
<span class="line"><span>IoTDB &gt; DELETE DATABASE root.sgcc</span></span>
<span class="line"><span>// 删除所有数据,时间序列以及数据库</span></span>
<span class="line"><span>IoTDB &gt; DELETE DATABASE root.**</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="统计数据库数量" tabindex="-1"><a class="header-anchor" href="#统计数据库数量"><span>统计数据库数量</span></a></h3><p>用户可以使用<code>COUNT DATABASES &lt;PathPattern&gt;</code>语句统计数据库的数量,允许指定<code>PathPattern</code> 用来统计匹配该<code>PathPattern</code> 的数据库的数量</p><p>SQL 语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; show databases</span></span>
<span class="line"><span>IoTDB&gt; count databases</span></span>
<span class="line"><span>IoTDB&gt; count databases root.*</span></span>
<span class="line"><span>IoTDB&gt; count databases root.sgcc.*</span></span>
<span class="line"><span>IoTDB&gt; count databases root.sgcc</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>执行结果为:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+-------------+</span></span>
<span class="line"><span>| database|</span></span>
<span class="line"><span>+-------------+</span></span>
<span class="line"><span>| root.sgcc|</span></span>
<span class="line"><span>| root.turbine|</span></span>
<span class="line"><span>| root.ln|</span></span>
<span class="line"><span>+-------------+</span></span>
<span class="line"><span>Total line number = 3</span></span>
<span class="line"><span>It costs 0.003s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+-------------+</span></span>
<span class="line"><span>| Database|</span></span>
<span class="line"><span>+-------------+</span></span>
<span class="line"><span>| 3|</span></span>
<span class="line"><span>+-------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.003s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+-------------+</span></span>
<span class="line"><span>| Database|</span></span>
<span class="line"><span>+-------------+</span></span>
<span class="line"><span>| 3|</span></span>
<span class="line"><span>+-------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.002s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+-------------+</span></span>
<span class="line"><span>| Database|</span></span>
<span class="line"><span>+-------------+</span></span>
<span class="line"><span>| 0|</span></span>
<span class="line"><span>+-------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.002s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+-------------+</span></span>
<span class="line"><span>| database|</span></span>
<span class="line"><span>+-------------+</span></span>
<span class="line"><span>| 1|</span></span>
<span class="line"><span>+-------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.002s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="数据保留时间-ttl" tabindex="-1"><a class="header-anchor" href="#数据保留时间-ttl"><span>数据保留时间(TTL)</span></a></h3><p>IoTDB 支持对设备(device)级别设置数据保留时间(TTL),允许系统自动定期删除旧数据,以有效控制磁盘空间并维护高性能查询和低内存占用。TTL 默认以毫秒为单位,数据过期后不可查询且禁止写入,但物理删除会延迟至压缩时。需注意,TTL 变更可能导致短暂数据可查询性变化,且若调小或解除 TTL,之前因 TTL 不可见的数据可能重新出现。</p><p>注意事项:</p><ul><li>TTL 设置为毫秒,不受配置文件时间精度影响。</li><li>TTL 变更可能影响数据的可查询性。</li><li>系统最终会移除过期数据,但存在延迟。</li><li>TTL 判断数据是否过期依据的是数据点时间,非写入时间。</li><li>系统最多支持设置 1000 条 TTL 规则,达到上限需先删除部分规则才能设置新规则。</li></ul><h4 id="ttl-path-规则" tabindex="-1"><a class="header-anchor" href="#ttl-path-规则"><span>TTL Path 规则</span></a></h4><p>设置的路径 path 只支持前缀路径(即路径中间不能带 * , 且必须以 ** 结尾),该路径会匹配到设备,也允许用户指定不带星的 path 为具体的 database 或 device,当 path 不带 * 时,会检查是否匹配到 database,若匹配到 database,则会同时设置 path 和 path.**。<br> 注意:设备 TTL 设置不会对元数据的存在性进行校验,即允许对一条不存在的设备设置 TTL。</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>合格的 path:</span></span>
<span class="line"><span>root.**</span></span>
<span class="line"><span>root.db.**</span></span>
<span class="line"><span>root.db.group1.**</span></span>
<span class="line"><span>root.db</span></span>
<span class="line"><span>root.db.group1.d1</span></span>
<span class="line"><span></span></span>
<span class="line"><span>不合格的 path:</span></span>
<span class="line"><span>root.*.db</span></span>
<span class="line"><span>root.**.db.*</span></span>
<span class="line"><span>root.db.*</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="ttl-适用规则" tabindex="-1"><a class="header-anchor" href="#ttl-适用规则"><span>TTL 适用规则</span></a></h4><p>当一个设备适用多条TTL规则时,优先适用较精确和较长的规则。例如对于设备“root.bj.hd.dist001.turbine001”来说,规则“root.bj.hd.dist001.turbine001”比“root.bj.hd.dist001.**”优先,而规则“root.bj.hd.dist001.**”比“root.bj.hd.**”优先;</p><h4 id="设置-ttl" tabindex="-1"><a class="header-anchor" href="#设置-ttl"><span>设置 TTL</span></a></h4><p>set ttl 操作可以理解为设置一条 TTL规则,比如 set ttl to root.sg.group1.** 就相当于对所有可以匹配到该路径模式的设备挂载 ttl。 unset ttl 操作表示对相应路径模式卸载 TTL,若不存在对应 TTL,则不做任何事。若想把 TTL 调成无限大,则可以使用 INF 关键字<br> 设置 TTL 的 SQL 语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>set ttl to pathPattern 360000;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>pathPattern 是前缀路径,即路径中间不能带 * 且必须以 ** 结尾。<br> pathPattern 匹配对应的设备。为了兼容老版本 SQL 语法,允许用户输入的 pathPattern 匹配到 db,则自动将前缀路径扩展为 path.**。<br> 例如,写set ttl to <a href="http://root.sg" target="_blank" rel="noopener noreferrer">root.sg</a> 360000 则会自动转化为set ttl to <a href="http://root.sg" target="_blank" rel="noopener noreferrer">root.sg</a>.** 360000,转化后的语句对所有 <a href="http://root.sg" target="_blank" rel="noopener noreferrer">root.sg</a> 下的 device 设置TTL。<br> 但若写的 pathPattern 无法匹配到 db,则上述逻辑不会生效。<br> 如写set ttl to root.sg.group 360000 ,由于root.sg.group未匹配到 db,则不会被扩充为root.sg.group.**。 也允许指定具体 device,不带 *。</p><h4 id="取消-ttl" tabindex="-1"><a class="header-anchor" href="#取消-ttl"><span>取消 TTL</span></a></h4><p>取消 TTL 的 SQL 语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; unset ttl from root.ln</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>取消设置 TTL 后, <code>root.ln</code> 路径下所有的数据都会被保存。</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; unset ttl from root.sgcc.**</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>取消设置<code>root.sgcc</code>路径下的所有的 TTL 。</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; unset ttl from root.**</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>取消设置所有的 TTL 。</p><p>新语法</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; unset ttl from root.**</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>旧语法</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; unset ttl to root.**</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>新旧语法在功能上没有区别并且同时兼容,仅是新语法在用词上更符合常规。</p><h4 id="显示-ttl" tabindex="-1"><a class="header-anchor" href="#显示-ttl"><span>显示 TTL</span></a></h4><p>显示 TTL 的 SQL 语句如下所示:<br> show all ttl</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; SHOW ALL TTL</span></span>
<span class="line"><span>+--------------+--------+</span></span>
<span class="line"><span>| path| TTL|</span></span>
<span class="line"><span>| root.**|55555555|</span></span>
<span class="line"><span>| root.sg2.a.**|44440000|</span></span>
<span class="line"><span>+--------------+--------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>show ttl on pathPattern</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; SHOW TTL ON root.db.**;</span></span>
<span class="line"><span>+--------------+--------+</span></span>
<span class="line"><span>| path| TTL|</span></span>
<span class="line"><span>| root.db.**|55555555|</span></span>
<span class="line"><span>| root.db.a.**|44440000|</span></span>
<span class="line"><span>+--------------+--------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SHOW ALL TTL 这个例子会给出所有的 TTL。<br> SHOW TTL ON pathPattern 这个例子会显示指定路径的 TTL。</p><p>显示设备的 TTL。</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; show devices</span></span>
<span class="line"><span>+---------------+---------+---------+</span></span>
<span class="line"><span>| Device|IsAligned| TTL|</span></span>
<span class="line"><span>+---------------+---------+---------+</span></span>
<span class="line"><span>|root.sg.device1| false| 36000000|</span></span>
<span class="line"><span>|root.sg.device2| true| INF|</span></span>
<span class="line"><span>+---------------+---------+---------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>所有设备都一定会有 TTL,即不可能是 null。INF 表示无穷大。</p><h3 id="设置异构数据库-进阶操作" tabindex="-1"><a class="header-anchor" href="#设置异构数据库-进阶操作"><span>设置异构数据库(进阶操作)</span></a></h3><p>在熟悉 IoTDB 元数据建模的前提下,用户可以在 IoTDB 中设置异构的数据库,以便应对不同的生产需求。</p><p>目前支持的数据库异构参数有:</p><table><thead><tr><th>参数名</th><th>参数类型</th><th>参数描述</th></tr></thead><tbody><tr><td>TTL</td><td>Long</td><td>数据库的 TTL</td></tr><tr><td>SCHEMA_REPLICATION_FACTOR</td><td>Integer</td><td>数据库的元数据副本数</td></tr><tr><td>DATA_REPLICATION_FACTOR</td><td>Integer</td><td>数据库的数据副本数</td></tr><tr><td>SCHEMA_REGION_GROUP_NUM</td><td>Integer</td><td>数据库的 SchemaRegionGroup 数量</td></tr><tr><td>DATA_REGION_GROUP_NUM</td><td>Integer</td><td>数据库的 DataRegionGroup 数量</td></tr></tbody></table><p>用户在配置异构参数时需要注意以下三点:</p><ul><li>TTL 和 TIME_PARTITION_INTERVAL 必须为正整数。</li><li>SCHEMA_REPLICATION_FACTOR 和 DATA_REPLICATION_FACTOR 必须小于等于已部署的 DataNode 数量。</li><li>SCHEMA_REGION_GROUP_NUM 和 DATA_REGION_GROUP_NUM 的功能与 iotdb-system.properties 配置文件中的<br><code>schema_region_group_extension_policy</code><code>data_region_group_extension_policy</code> 参数相关,以 DATA_REGION_GROUP_NUM 为例:<br> 若设置 <code>data_region_group_extension_policy=CUSTOM</code>,则 DATA_REGION_GROUP_NUM 将作为 Database 拥有的 DataRegionGroup 的数量;<br> 若设置 <code>data_region_group_extension_policy=AUTO</code>,则 DATA_REGION_GROUP_NUM 将作为 Database 拥有的 DataRegionGroup 的配额下界,即当该 Database 开始写入数据时,将至少拥有此数量的 DataRegionGroup。</li></ul><p>用户可以在创建 Database 时设置任意异构参数,或在单机/分布式 IoTDB 运行时调整部分异构参数。</p><h4 id="创建-database-时设置异构参数" tabindex="-1"><a class="header-anchor" href="#创建-database-时设置异构参数"><span>创建 Database 时设置异构参数</span></a></h4><p>用户可以在创建 Database 时设置上述任意异构参数,SQL 语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>CREATE DATABASE prefixPath (WITH databaseAttributeClause (COMMA? databaseAttributeClause)*)?</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>例如:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>CREATE DATABASE root.db WITH SCHEMA_REPLICATION_FACTOR=1, DATA_REPLICATION_FACTOR=3, SCHEMA_REGION_GROUP_NUM=1, DATA_REGION_GROUP_NUM=2;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="运行时调整异构参数" tabindex="-1"><a class="header-anchor" href="#运行时调整异构参数"><span>运行时调整异构参数</span></a></h4><p>用户可以在 IoTDB 运行时调整部分异构参数,SQL 语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>ALTER DATABASE prefixPath WITH databaseAttributeClause (COMMA? databaseAttributeClause)*</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>例如:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>ALTER DATABASE root.db WITH SCHEMA_REGION_GROUP_NUM=1, DATA_REGION_GROUP_NUM=2;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>注意,运行时只能调整下列异构参数:</p><ul><li>SCHEMA_REGION_GROUP_NUM</li><li>DATA_REGION_GROUP_NUM</li></ul><h4 id="查看异构数据库" tabindex="-1"><a class="header-anchor" href="#查看异构数据库"><span>查看异构数据库</span></a></h4><p>用户可以查询每个 Database 的具体异构配置,SQL 语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>SHOW DATABASES DETAILS prefixPath?</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>例如:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; SHOW DATABASES DETAILS</span></span>
<span class="line"><span>+--------+--------+-----------------------+---------------------+---------------------+--------------------+-----------------------+-----------------------+------------------+---------------------+---------------------+</span></span>
<span class="line"><span>|Database| TTL|SchemaReplicationFactor|DataReplicationFactor|TimePartitionInterval|SchemaRegionGroupNum|MinSchemaRegionGroupNum|MaxSchemaRegionGroupNum|DataRegionGroupNum|MinDataRegionGroupNum|MaxDataRegionGroupNum|</span></span>
<span class="line"><span>+--------+--------+-----------------------+---------------------+---------------------+--------------------+-----------------------+-----------------------+------------------+---------------------+---------------------+</span></span>
<span class="line"><span>|root.db1| null| 1| 3| 604800000| 0| 1| 1| 0| 2| 2|</span></span>
<span class="line"><span>|root.db2|86400000| 1| 1| 604800000| 0| 1| 1| 0| 2| 2|</span></span>
<span class="line"><span>|root.db3| null| 1| 1| 604800000| 0| 1| 1| 0| 2| 2|</span></span>
<span class="line"><span>+--------+--------+-----------------------+---------------------+---------------------+--------------------+-----------------------+-----------------------+------------------+---------------------+---------------------+</span></span>
<span class="line"><span>Total line number = 3</span></span>
<span class="line"><span>It costs 0.058s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>各列查询结果依次为:</p><ul><li>数据库名称</li><li>数据库的 TTL</li><li>数据库的元数据副本数</li><li>数据库的数据副本数</li><li>数据库的时间分区间隔</li><li>数据库当前拥有的 SchemaRegionGroup 数量</li><li>数据库需要拥有的最小 SchemaRegionGroup 数量</li><li>数据库允许拥有的最大 SchemaRegionGroup 数量</li><li>数据库当前拥有的 DataRegionGroup 数量</li><li>数据库需要拥有的最小 DataRegionGroup 数量</li><li>数据库允许拥有的最大 DataRegionGroup 数量</li></ul><h2 id="设备模板管理" tabindex="-1"><a class="header-anchor" href="#设备模板管理"><span>设备模板管理</span></a></h2><p>IoTDB 支持设备模板功能,实现同类型不同实体的物理量元数据共享,减少元数据内存占用,同时简化同类型实体的管理。</p><figure><img src="/img/%E6%A8%A1%E6%9D%BF.png" alt="img" tabindex="0" loading="lazy"><figcaption>img</figcaption></figure><figure><img src="/img/template.jpg" alt="img" tabindex="0" loading="lazy"><figcaption>img</figcaption></figure><h3 id="创建设备模板" tabindex="-1"><a class="header-anchor" href="#创建设备模板"><span>创建设备模板</span></a></h3><p>创建设备模板的 SQL 语法如下:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#ABB2BF;"> DEVICE TEMPLATE </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;">templateName</span><span style="color:#56B6C2;">&gt;</span><span style="color:#ABB2BF;"> ALIGNED? </span><span style="color:#98C379;">&#39;(&#39;</span><span style="color:#56B6C2;"> &lt;</span><span style="color:#ABB2BF;">measurementId</span><span style="color:#56B6C2;">&gt;</span><span style="color:#56B6C2;"> &lt;</span><span style="color:#ABB2BF;">attributeClauses</span><span style="color:#56B6C2;">&gt;</span><span style="color:#E06C75;"> [&#39;,&#39; &lt;measurementId&gt; &lt;attributeClauses&gt;]</span><span style="color:#ABB2BF;">+ </span><span style="color:#98C379;">&#39;)&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p><strong>示例1:</strong> 创建包含两个非对齐序列的元数据模板</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">create</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> t1</span><span style="color:#ABB2BF;"> (temperature </span><span style="color:#98C379;">FLOAT</span><span style="color:#98C379;"> encoding=RLE,</span><span style="color:#98C379;"> status</span><span style="color:#98C379;"> BOOLEAN</span><span style="color:#98C379;"> encoding=PLAIN</span><span style="color:#98C379;"> compression=SNAPPY</span><span style="color:#ABB2BF;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p><strong>示例2:</strong> 创建包含一组对齐序列的元数据模板</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">create</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> t2</span><span style="color:#98C379;"> aligned</span><span style="color:#ABB2BF;"> (lat </span><span style="color:#98C379;">FLOAT</span><span style="color:#98C379;"> encoding=Gorilla,</span><span style="color:#98C379;"> lon</span><span style="color:#98C379;"> FLOAT</span><span style="color:#98C379;"> encoding=Gorilla</span><span style="color:#ABB2BF;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>其中,物理量 <code>lat</code><code>lon</code> 是对齐的。</p><h3 id="挂载设备模板" tabindex="-1"><a class="header-anchor" href="#挂载设备模板"><span>挂载设备模板</span></a></h3><p>元数据模板在创建后,需执行挂载操作,方可用于相应路径下的序列创建与数据写入。</p><p><strong>挂载模板前,需确保相关数据库已经创建。</strong></p><p><strong>推荐将模板挂载在 database 节点上,不建议将模板挂载到 database 上层的节点上。</strong></p><p><strong>模板挂载路径下禁止创建普通序列,已创建了普通序列的前缀路径上不允许挂载模板。</strong></p><p>挂载元数据模板的 SQL 语句如下所示:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">set</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> t1</span><span style="color:#98C379;"> to</span><span style="color:#98C379;"> root.sg1.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h3 id="激活设备模板" tabindex="-1"><a class="header-anchor" href="#激活设备模板"><span>激活设备模板</span></a></h3><p>挂载好设备模板后,且系统开启自动注册序列功能的情况下,即可直接进行数据的写入。例如 database 为 root.sg1,模板 t1 被挂载到了节点 root.sg1.d1,那么可直接向时间序列(如 root.sg1.d1.temperature 和 root.sg1.d1.status)写入时间序列数据,该时间序列已可被当作正常创建的序列使用。</p><p><strong>注意</strong>:在插入数据之前或系统未开启自动注册序列功能,模板定义的时间序列不会被创建。可以使用如下SQL语句在插入数据前创建时间序列即激活模板:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">create</span><span style="color:#98C379;"> timeseries</span><span style="color:#98C379;"> using</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> on</span><span style="color:#98C379;"> root.sg1.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p><strong>示例:</strong> 执行以下语句</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">set</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> t1</span><span style="color:#98C379;"> to</span><span style="color:#98C379;"> root.sg1.d1</span></span>
<span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">set</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> t2</span><span style="color:#98C379;"> to</span><span style="color:#98C379;"> root.sg1.d2</span></span>
<span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">create</span><span style="color:#98C379;"> timeseries</span><span style="color:#98C379;"> using</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> on</span><span style="color:#98C379;"> root.sg1.d1</span></span>
<span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">create</span><span style="color:#98C379;"> timeseries</span><span style="color:#98C379;"> using</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> on</span><span style="color:#98C379;"> root.sg1.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>查看此时的时间序列:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">show timeseries </span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">sg1</span><span style="color:#ABB2BF;">.**</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">+-----------------------+-----+-------------+--------+--------+-----------+----+----------+--------+-------------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">timeseries</span><span style="color:#ABB2BF;">|</span><span style="color:#56B6C2;">alias</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">database</span><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">dataType</span><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">encoding</span><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">compression</span><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">tags</span><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">attributes</span><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">deadband</span><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">deadband</span><span style="color:#98C379;"> parameters</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#61AFEF;">+-----------------------+-----+-------------+--------+--------+-----------+----+----------+--------+-------------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">root.sg1.d1.temperature</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">root.sg1</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">FLOAT</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">RLE</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">SNAPPY</span><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">root.sg1.d1.status</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">root.sg1</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">BOOLEAN</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">PLAIN</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">SNAPPY</span><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">root.sg1.d2.lon</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">root.sg1</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">FLOAT</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">GORILLA</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">SNAPPY</span><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">root.sg1.d2.lat</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">root.sg1</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">FLOAT</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">GORILLA</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">SNAPPY</span><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#61AFEF;">+-----------------------+-----+-------------+--------+--------+-----------+----+----------+--------+-------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>查看此时的设备:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">show devices </span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">sg1</span><span style="color:#ABB2BF;">.**</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">+---------------+---------+---------+</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">devices</span><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">isAligned</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">Template</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#61AFEF;">+---------------+---------+---------+</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">root.sg1.d1</span><span style="color:#ABB2BF;">| </span><span style="color:#56B6C2;">false</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">root.sg1.d2</span><span style="color:#ABB2BF;">| </span><span style="color:#56B6C2;">true</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">null</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#61AFEF;">+---------------+---------+---------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="查看设备模板" tabindex="-1"><a class="header-anchor" href="#查看设备模板"><span>查看设备模板</span></a></h3><ul><li>查看所有设备模板</li></ul><p>SQL 语句如下所示:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">show</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> templates</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>执行结果如下:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">+-------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">template</span><span style="color:#98C379;"> name</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#61AFEF;">+-------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">t2</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">t1</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#61AFEF;">+-------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>查看某个设备模板下的物理量</li></ul><p>SQL 语句如下所示:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">show</span><span style="color:#98C379;"> nodes</span><span style="color:#98C379;"> in</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> t1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>执行结果如下:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">+-----------+--------+--------+-----------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">child</span><span style="color:#98C379;"> nodes</span><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">dataType</span><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">encoding</span><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">compression</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#61AFEF;">+-----------+--------+--------+-----------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">temperature</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">FLOAT</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">RLE</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">SNAPPY</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">status</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">BOOLEAN</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">PLAIN</span><span style="color:#ABB2BF;">| </span><span style="color:#61AFEF;">SNAPPY</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#61AFEF;">+-----------+--------+--------+-----------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>查看挂载了某个设备模板的路径</li></ul><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">show</span><span style="color:#98C379;"> paths</span><span style="color:#98C379;"> set</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> t1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>执行结果如下:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">+-----------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">child</span><span style="color:#98C379;"> paths</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#61AFEF;">+-----------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">root.sg1.d1</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#61AFEF;">+-----------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>查看使用了某个设备模板的路径(即模板在该路径上已激活,序列已创建)</li></ul><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">show</span><span style="color:#98C379;"> paths</span><span style="color:#98C379;"> using</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> t1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>执行结果如下:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">+-----------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">child</span><span style="color:#98C379;"> paths</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#61AFEF;">+-----------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#61AFEF;">root.sg1.d1</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#61AFEF;">+-----------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="解除设备模板" tabindex="-1"><a class="header-anchor" href="#解除设备模板"><span>解除设备模板</span></a></h3><p>若需删除模板表示的某一组时间序列,可采用解除模板操作,SQL语句如下所示:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">delete</span><span style="color:#98C379;"> timeseries</span><span style="color:#98C379;"> of</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> t1</span><span style="color:#98C379;"> from</span><span style="color:#98C379;"> root.sg1.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">deactivate</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> t1</span><span style="color:#98C379;"> from</span><span style="color:#98C379;"> root.sg1.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>解除操作支持批量处理,SQL语句如下所示:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">delete</span><span style="color:#98C379;"> timeseries</span><span style="color:#98C379;"> of</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> t1</span><span style="color:#98C379;"> from</span><span style="color:#98C379;"> root.sg1.</span><span style="color:#E5C07B;">*</span><span style="color:#98C379;">,</span><span style="color:#98C379;"> root.sg2.</span><span style="color:#E5C07B;">*</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p></p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">deactivate</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> t1</span><span style="color:#98C379;"> from</span><span style="color:#98C379;"> root.sg1.</span><span style="color:#E5C07B;">*</span><span style="color:#98C379;">,</span><span style="color:#98C379;"> root.sg2.</span><span style="color:#E5C07B;">*</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>若解除命令不指定模板名称,则会将给定路径涉及的所有模板使用情况均解除。</p><h3 id="卸载设备模板" tabindex="-1"><a class="header-anchor" href="#卸载设备模板"><span>卸载设备模板</span></a></h3><p>卸载设备模板的 SQL 语句如下所示:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">unset</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> t1</span><span style="color:#98C379;"> from</span><span style="color:#98C379;"> root.sg1.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p><strong>注意</strong>:不支持卸载仍处于激活状态的模板,需保证执行卸载操作前解除对该模板的所有使用,即删除所有该模板表示的序列。</p><h3 id="删除设备模板" tabindex="-1"><a class="header-anchor" href="#删除设备模板"><span>删除设备模板</span></a></h3><p>删除设备模板的 SQL 语句如下所示:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">drop</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> t1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p><strong>注意</strong>:不支持删除已经挂载的模板,需在删除操作前保证该模板卸载成功。</p><h3 id="修改设备模板" tabindex="-1"><a class="header-anchor" href="#修改设备模板"><span>修改设备模板</span></a></h3><p>在需要新增物理量的场景中,可以通过修改设备模板来给所有已激活该模板的设备新增物理量。</p><p>修改设备模板的 SQL 语句如下所示:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">IoTDB</span><span style="color:#ABB2BF;">&gt; </span><span style="color:#98C379;">alter</span><span style="color:#98C379;"> device</span><span style="color:#98C379;"> template</span><span style="color:#98C379;"> t1</span><span style="color:#98C379;"> add</span><span style="color:#ABB2BF;"> (speed </span><span style="color:#98C379;">FLOAT</span><span style="color:#98C379;"> encoding=RLE</span><span style="color:#ABB2BF;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p><strong>向已挂载模板的路径下的设备中写入数据,若写入请求中的物理量不在模板中,将自动扩展模板。</strong></p><h2 id="时间序列管理" tabindex="-1"><a class="header-anchor" href="#时间序列管理"><span>时间序列管理</span></a></h2><h3 id="创建时间序列" tabindex="-1"><a class="header-anchor" href="#创建时间序列"><span>创建时间序列</span></a></h3><p>根据建立的数据模型,我们可以分别在两个数据库中创建相应的时间序列。创建时间序列的 SQL 语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB &gt; create timeseries root.ln.wf01.wt01.status with datatype=BOOLEAN,encoding=PLAIN</span></span>
<span class="line"><span>IoTDB &gt; create timeseries root.ln.wf01.wt01.temperature with datatype=FLOAT,encoding=RLE</span></span>
<span class="line"><span>IoTDB &gt; create timeseries root.ln.wf02.wt02.hardware with datatype=TEXT,encoding=PLAIN</span></span>
<span class="line"><span>IoTDB &gt; create timeseries root.ln.wf02.wt02.status with datatype=BOOLEAN,encoding=PLAIN</span></span>
<span class="line"><span>IoTDB &gt; create timeseries root.sgcc.wf03.wt01.status with datatype=BOOLEAN,encoding=PLAIN</span></span>
<span class="line"><span>IoTDB &gt; create timeseries root.sgcc.wf03.wt01.temperature with datatype=FLOAT,encoding=RLE</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>从 v0.13 起,可以使用简化版的 SQL 语句创建时间序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB &gt; create timeseries root.ln.wf01.wt01.status BOOLEAN encoding=PLAIN</span></span>
<span class="line"><span>IoTDB &gt; create timeseries root.ln.wf01.wt01.temperature FLOAT encoding=RLE</span></span>
<span class="line"><span>IoTDB &gt; create timeseries root.ln.wf02.wt02.hardware TEXT encoding=PLAIN</span></span>
<span class="line"><span>IoTDB &gt; create timeseries root.ln.wf02.wt02.status BOOLEAN encoding=PLAIN</span></span>
<span class="line"><span>IoTDB &gt; create timeseries root.sgcc.wf03.wt01.status BOOLEAN encoding=PLAIN</span></span>
<span class="line"><span>IoTDB &gt; create timeseries root.sgcc.wf03.wt01.temperature FLOAT encoding=RLE</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>需要注意的是,当创建时间序列时指定的编码方式与数据类型不对应时,系统会给出相应的错误提示,如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; create timeseries root.ln.wf02.wt02.status WITH DATATYPE=BOOLEAN, ENCODING=TS_2DIFF</span></span>
<span class="line"><span>error: encoding TS_2DIFF does not support BOOLEAN</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>详细的数据类型与编码方式的对应列表请参见 <a class="route-link" href="/zh/UserGuide/dev-1.3/Technical-Insider/Encoding-and-Compression.html">编码方式</a></p><h3 id="创建对齐时间序列" tabindex="-1"><a class="header-anchor" href="#创建对齐时间序列"><span>创建对齐时间序列</span></a></h3><p>创建一组对齐时间序列的SQL语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; CREATE ALIGNED TIMESERIES root.ln.wf01.GPS(latitude FLOAT encoding=PLAIN compressor=SNAPPY, longitude FLOAT encoding=PLAIN compressor=SNAPPY)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>一组对齐序列中的序列可以有不同的数据类型、编码方式以及压缩方式。</p><p>对齐的时间序列也支持设置别名、标签、属性。</p><h3 id="删除时间序列" tabindex="-1"><a class="header-anchor" href="#删除时间序列"><span>删除时间序列</span></a></h3><p>我们可以使用<code>(DELETE | DROP) TimeSeries &lt;PathPattern&gt;</code>语句来删除我们之前创建的时间序列。SQL 语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; delete timeseries root.ln.wf01.wt01.status</span></span>
<span class="line"><span>IoTDB&gt; delete timeseries root.ln.wf01.wt01.temperature, root.ln.wf02.wt02.hardware</span></span>
<span class="line"><span>IoTDB&gt; delete timeseries root.ln.wf02.*</span></span>
<span class="line"><span>IoTDB&gt; drop timeseries root.ln.wf02.*</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="查看时间序列" tabindex="-1"><a class="header-anchor" href="#查看时间序列"><span>查看时间序列</span></a></h3><ul><li><p>SHOW LATEST? TIMESERIES pathPattern? timeseriesWhereClause? limitClause?</p><p>SHOW TIMESERIES 中可以有四种可选的子句,查询结果为这些时间序列的所有信息</p></li></ul><p>时间序列信息具体包括:时间序列路径名,database,Measurement 别名,数据类型,编码方式,压缩方式,属性和标签。</p><p>示例:</p><ul><li><p>SHOW TIMESERIES</p><p>展示系统中所有的时间序列信息</p></li><li><p>SHOW TIMESERIES &lt;<code>Path</code>&gt;</p><p>返回给定路径的下的所有时间序列信息。其中 <code>Path</code> 需要为一个时间序列路径或路径模式。例如,分别查看<code>root</code>路径和<code>root.ln</code>路径下的时间序列,SQL 语句如下所示:</p></li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; show timeseries root.**</span></span>
<span class="line"><span>IoTDB&gt; show timeseries root.ln.**</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>执行结果分别为:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+--------+-------------------+</span></span>
<span class="line"><span>| timeseries| alias| database|dataType|encoding|compression| tags| attributes|deadband|deadband parameters|</span></span>
<span class="line"><span>+-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+--------+-------------------+</span></span>
<span class="line"><span>|root.sgcc.wf03.wt01.temperature| null| root.sgcc| FLOAT| RLE| SNAPPY| null| null| null| null|</span></span>
<span class="line"><span>| root.sgcc.wf03.wt01.status| null| root.sgcc| BOOLEAN| PLAIN| SNAPPY| null| null| null| null|</span></span>
<span class="line"><span>| root.turbine.d1.s1|newAlias| root.turbine| FLOAT| RLE| SNAPPY|{&quot;newTag1&quot;:&quot;newV1&quot;,&quot;tag4&quot;:&quot;v4&quot;,&quot;tag3&quot;:&quot;v3&quot;}|{&quot;attr2&quot;:&quot;v2&quot;,&quot;attr1&quot;:&quot;newV1&quot;,&quot;attr4&quot;:&quot;v4&quot;,&quot;attr3&quot;:&quot;v3&quot;}| null| null|</span></span>
<span class="line"><span>| root.ln.wf02.wt02.hardware| null| root.ln| TEXT| PLAIN| SNAPPY| null| null| null| null|</span></span>
<span class="line"><span>| root.ln.wf02.wt02.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY| null| null| null| null|</span></span>
<span class="line"><span>| root.ln.wf01.wt01.temperature| null| root.ln| FLOAT| RLE| SNAPPY| null| null| null| null|</span></span>
<span class="line"><span>| root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY| null| null| null| null|</span></span>
<span class="line"><span>+-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+--------+-------------------+</span></span>
<span class="line"><span>Total line number = 7</span></span>
<span class="line"><span>It costs 0.016s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+--------+-------------------+</span></span>
<span class="line"><span>| timeseries|alias| database|dataType|encoding|compression|tags|attributes|deadband|deadband parameters|</span></span>
<span class="line"><span>+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+--------+-------------------+</span></span>
<span class="line"><span>| root.ln.wf02.wt02.hardware| null| root.ln| TEXT| PLAIN| SNAPPY|null| null| null| null|</span></span>
<span class="line"><span>| root.ln.wf02.wt02.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|null| null| null| null|</span></span>
<span class="line"><span>|root.ln.wf01.wt01.temperature| null| root.ln| FLOAT| RLE| SNAPPY|null| null| null| null|</span></span>
<span class="line"><span>| root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|null| null| null| null|</span></span>
<span class="line"><span>+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+--------+-------------------+</span></span>
<span class="line"><span>Total line number = 4</span></span>
<span class="line"><span>It costs 0.004s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li><p>SHOW TIMESERIES LIMIT INT OFFSET INT</p><p>只返回从指定下标开始的结果,最大返回条数被 LIMIT 限制,用于分页查询。例如:</p></li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>show timeseries root.ln.** limit 10 offset 10</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li><p>SHOW TIMESERIES WHERE TIMESERIES contains &#39;containStr&#39;</p><p>对查询结果集根据 timeseries 名称进行字符串模糊匹配过滤。例如:</p></li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>show timeseries root.ln.** where timeseries contains &#39;wf01.wt&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>执行结果为:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+--------+-------------------+</span></span>
<span class="line"><span>| timeseries| alias| database|dataType|encoding|compression| tags| attributes|deadband|deadband parameters|</span></span>
<span class="line"><span>+-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+--------+-------------------+</span></span>
<span class="line"><span>| root.ln.wf01.wt01.temperature| null| root.ln| FLOAT| RLE| SNAPPY| null| null| null| null|</span></span>
<span class="line"><span>| root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY| null| null| null| null|</span></span>
<span class="line"><span>+-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+--------+-------------------+</span></span>
<span class="line"><span>Total line number = 2</span></span>
<span class="line"><span>It costs 0.016s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li><p>SHOW TIMESERIES WHERE DataType=type</p><p>对查询结果集根据时间序列数据类型进行过滤。例如:</p></li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>show timeseries root.ln.** where dataType=FLOAT</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>执行结果为:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+--------+-------------------+</span></span>
<span class="line"><span>| timeseries| alias| database|dataType|encoding|compression| tags| attributes|deadband|deadband parameters|</span></span>
<span class="line"><span>+-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+--------+-------------------+</span></span>
<span class="line"><span>|root.sgcc.wf03.wt01.temperature| null| root.sgcc| FLOAT| RLE| SNAPPY| null| null| null| null|</span></span>
<span class="line"><span>| root.turbine.d1.s1|newAlias| root.turbine| FLOAT| RLE| SNAPPY|{&quot;newTag1&quot;:&quot;newV1&quot;,&quot;tag4&quot;:&quot;v4&quot;,&quot;tag3&quot;:&quot;v3&quot;}|{&quot;attr2&quot;:&quot;v2&quot;,&quot;attr1&quot;:&quot;newV1&quot;,&quot;attr4&quot;:&quot;v4&quot;,&quot;attr3&quot;:&quot;v3&quot;}| null| null|</span></span>
<span class="line"><span>| root.ln.wf01.wt01.temperature| null| root.ln| FLOAT| RLE| SNAPPY| null| null| null| null|</span></span>
<span class="line"><span>+-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+--------+-------------------+</span></span>
<span class="line"><span>Total line number = 3</span></span>
<span class="line"><span>It costs 0.016s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li><p>SHOW TIMESERIES WHERE TAGS(KEY) = VALUE</p></li><li><p>SHOW TIMESERIES WHERE TAGS(KEY) CONTAINS VALUE</p><p>对查询结果集根据标签进行过滤。例如:</p></li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>show timeseries root.ln.** where TAGS(unit)=&#39;c&#39;</span></span>
<span class="line"><span>show timeseries root.ln.** where TAGS(description) contains &#39;test1&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>执行结果分别为:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+--------------------------+-----+-------------+--------+--------+-----------+------------+----------+--------+-------------------+</span></span>
<span class="line"><span>| timeseries|alias| database|dataType|encoding|compression| tags|attributes|deadband|deadband parameters|</span></span>
<span class="line"><span>+--------------------------+-----+-------------+--------+--------+-----------+------------+----------+--------+-------------------+</span></span>
<span class="line"><span>|root.ln.wf02.wt02.hardware| null| root.ln| TEXT| PLAIN| SNAPPY|{&quot;unit&quot;:&quot;c&quot;}| null| null| null|</span></span>
<span class="line"><span>+--------------------------+-----+-------------+--------+--------+-----------+------------+----------+--------+-------------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.005s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+------------------------+-----+-------------+--------+--------+-----------+-----------------------+----------+--------+-------------------+</span></span>
<span class="line"><span>| timeseries|alias| database|dataType|encoding|compression| tags|attributes|deadband|deadband parameters|</span></span>
<span class="line"><span>+------------------------+-----+-------------+--------+--------+-----------+-----------------------+----------+--------+-------------------+</span></span>
<span class="line"><span>|root.ln.wf02.wt02.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|{&quot;description&quot;:&quot;test1&quot;}| null| null| null|</span></span>
<span class="line"><span>+------------------------+-----+-------------+--------+--------+-----------+-----------------------+----------+--------+-------------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.004s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li><p>SHOW LATEST TIMESERIES</p><p>表示查询出的时间序列需要按照最近插入时间戳降序排列</p></li></ul><p>需要注意的是,当查询路径不存在时,系统会返回 0 条时间序列。</p><h3 id="统计时间序列总数" tabindex="-1"><a class="header-anchor" href="#统计时间序列总数"><span>统计时间序列总数</span></a></h3><p>IoTDB 支持使用<code>COUNT TIMESERIES&lt;Path&gt;</code>来统计一条路径中的时间序列个数。SQL 语句如下所示:</p><ul><li>可以通过 <code>WHERE</code> 条件对时间序列名称进行字符串模糊匹配,语法为: <code>COUNT TIMESERIES &lt;Path&gt; WHERE TIMESERIES contains &#39;containStr&#39;</code></li><li>可以通过 <code>WHERE</code> 条件对时间序列数据类型进行过滤,语法为: <code>COUNT TIMESERIES &lt;Path&gt; WHERE DataType=&lt;DataType&gt;&#39;</code></li><li>可以通过 <code>WHERE</code> 条件对标签点进行过滤,语法为: <code>COUNT TIMESERIES &lt;Path&gt; WHERE TAGS(key)=&#39;value&#39;</code><code>COUNT TIMESERIES &lt;Path&gt; WHERE TAGS(key) contains &#39;value&#39;</code></li><li>可以通过定义<code>LEVEL</code>来统计指定层级下的时间序列个数。这条语句可以用来统计每一个设备下的传感器数量,语法为:<code>COUNT TIMESERIES &lt;Path&gt; GROUP BY LEVEL=&lt;INTEGER&gt;</code></li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB &gt; COUNT TIMESERIES root.**</span></span>
<span class="line"><span>IoTDB &gt; COUNT TIMESERIES root.ln.**</span></span>
<span class="line"><span>IoTDB &gt; COUNT TIMESERIES root.ln.*.*.status</span></span>
<span class="line"><span>IoTDB &gt; COUNT TIMESERIES root.ln.wf01.wt01.status</span></span>
<span class="line"><span>IoTDB &gt; COUNT TIMESERIES root.** WHERE TIMESERIES contains &#39;sgcc&#39; </span></span>
<span class="line"><span>IoTDB &gt; COUNT TIMESERIES root.** WHERE DATATYPE = INT64</span></span>
<span class="line"><span>IoTDB &gt; COUNT TIMESERIES root.** WHERE TAGS(unit) contains &#39;c&#39; </span></span>
<span class="line"><span>IoTDB &gt; COUNT TIMESERIES root.** WHERE TAGS(unit) = &#39;c&#39; </span></span>
<span class="line"><span>IoTDB &gt; COUNT TIMESERIES root.** WHERE TIMESERIES contains &#39;sgcc&#39; group by level = 1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>例如有如下时间序列(可以使用<code>show timeseries</code>展示所有时间序列):</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+--------+-------------------+</span></span>
<span class="line"><span>| timeseries| alias| database|dataType|encoding|compression| tags| attributes|deadband|deadband parameters|</span></span>
<span class="line"><span>+-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+--------+-------------------+</span></span>
<span class="line"><span>|root.sgcc.wf03.wt01.temperature| null| root.sgcc| FLOAT| RLE| SNAPPY| null| null| null| null|</span></span>
<span class="line"><span>| root.sgcc.wf03.wt01.status| null| root.sgcc| BOOLEAN| PLAIN| SNAPPY| null| null| null| null|</span></span>
<span class="line"><span>| root.turbine.d1.s1|newAlias| root.turbine| FLOAT| RLE| SNAPPY|{&quot;newTag1&quot;:&quot;newV1&quot;,&quot;tag4&quot;:&quot;v4&quot;,&quot;tag3&quot;:&quot;v3&quot;}|{&quot;attr2&quot;:&quot;v2&quot;,&quot;attr1&quot;:&quot;newV1&quot;,&quot;attr4&quot;:&quot;v4&quot;,&quot;attr3&quot;:&quot;v3&quot;}| null| null|</span></span>
<span class="line"><span>| root.ln.wf02.wt02.hardware| null| root.ln| TEXT| PLAIN| SNAPPY| {&quot;unit&quot;:&quot;c&quot;}| null| null| null|</span></span>
<span class="line"><span>| root.ln.wf02.wt02.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY| {&quot;description&quot;:&quot;test1&quot;}| null| null| null|</span></span>
<span class="line"><span>| root.ln.wf01.wt01.temperature| null| root.ln| FLOAT| RLE| SNAPPY| null| null| null| null|</span></span>
<span class="line"><span>| root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY| null| null| null| null|</span></span>
<span class="line"><span>+-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+--------+-------------------+</span></span>
<span class="line"><span>Total line number = 7</span></span>
<span class="line"><span>It costs 0.004s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>那么 Metadata Tree 如下所示:</p><img style="width:100%;max-width:600px;margin-left:auto;margin-right:auto;display:block;" src="/img/github/69792176-1718f400-1201-11ea-861a-1a83c07ca144.jpg"><p>可以看到,<code>root</code>被定义为<code>LEVEL=0</code>。那么当你输入如下语句时:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB &gt; COUNT TIMESERIES root.** GROUP BY LEVEL=1</span></span>
<span class="line"><span>IoTDB &gt; COUNT TIMESERIES root.ln.** GROUP BY LEVEL=2</span></span>
<span class="line"><span>IoTDB &gt; COUNT TIMESERIES root.ln.wf01.* GROUP BY LEVEL=2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>你将得到以下结果:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; COUNT TIMESERIES root.** GROUP BY LEVEL=1</span></span>
<span class="line"><span>+------------+-----------------+</span></span>
<span class="line"><span>| column|count(timeseries)|</span></span>
<span class="line"><span>+------------+-----------------+</span></span>
<span class="line"><span>| root.sgcc| 2|</span></span>
<span class="line"><span>|root.turbine| 1|</span></span>
<span class="line"><span>| root.ln| 4|</span></span>
<span class="line"><span>+------------+-----------------+</span></span>
<span class="line"><span>Total line number = 3</span></span>
<span class="line"><span>It costs 0.002s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>IoTDB &gt; COUNT TIMESERIES root.ln.** GROUP BY LEVEL=2</span></span>
<span class="line"><span>+------------+-----------------+</span></span>
<span class="line"><span>| column|count(timeseries)|</span></span>
<span class="line"><span>+------------+-----------------+</span></span>
<span class="line"><span>|root.ln.wf02| 2|</span></span>
<span class="line"><span>|root.ln.wf01| 2|</span></span>
<span class="line"><span>+------------+-----------------+</span></span>
<span class="line"><span>Total line number = 2</span></span>
<span class="line"><span>It costs 0.002s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>IoTDB &gt; COUNT TIMESERIES root.ln.wf01.* GROUP BY LEVEL=2</span></span>
<span class="line"><span>+------------+-----------------+</span></span>
<span class="line"><span>| column|count(timeseries)|</span></span>
<span class="line"><span>+------------+-----------------+</span></span>
<span class="line"><span>|root.ln.wf01| 2|</span></span>
<span class="line"><span>+------------+-----------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.002s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>注意:时间序列的路径只是过滤条件,与 level 的定义无关。</p></blockquote><h3 id="标签点管理" tabindex="-1"><a class="header-anchor" href="#标签点管理"><span>标签点管理</span></a></h3><p>我们可以在创建时间序列的时候,为它添加别名和额外的标签和属性信息。</p><p>标签和属性的区别在于:</p><ul><li>标签可以用来查询时间序列路径,会在内存中维护标点到时间序列路径的倒排索引:标签 -&gt; 时间序列路径</li><li>属性只能用时间序列路径来查询:时间序列路径 -&gt; 属性</li></ul><p>所用到的扩展的创建时间序列的 SQL 语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>create timeseries root.turbine.d1.s1(temprature) with datatype=FLOAT, encoding=RLE, compression=SNAPPY tags(tag1=v1, tag2=v2) attributes(attr1=v1, attr2=v2)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>括号里的<code>temprature</code><code>s1</code>这个传感器的别名。<br> 我们可以在任何用到<code>s1</code>的地方,将其用<code>temprature</code>代替,这两者是等价的。</p><blockquote><p>IoTDB 同时支持在查询语句中使用 AS 函数设置别名。二者的区别在于:AS 函数设置的别名用于替代整条时间序列名,且是临时的,不与时间序列绑定;而上文中的别名只作为传感器的别名,与其绑定且可与原传感器名等价使用。</p></blockquote><blockquote><p>注意:额外的标签和属性信息总的大小不能超过<code>tag_attribute_total_size</code>.</p></blockquote><ul><li>标签点属性更新<br> 创建时间序列后,我们也可以对其原有的标签点属性进行更新,主要有以下六种更新方式:</li><li>重命名标签或属性</li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>ALTER timeseries root.turbine.d1.s1 RENAME tag1 TO newTag1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li>重新设置标签或属性的值</li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>ALTER timeseries root.turbine.d1.s1 SET newTag1=newV1, attr1=newV1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li>删除已经存在的标签或属性</li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>ALTER timeseries root.turbine.d1.s1 DROP tag1, tag2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li>添加新的标签</li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>ALTER timeseries root.turbine.d1.s1 ADD TAGS tag3=v3, tag4=v4</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li>添加新的属性</li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>ALTER timeseries root.turbine.d1.s1 ADD ATTRIBUTES attr3=v3, attr4=v4</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li>更新插入别名,标签和属性</li></ul><blockquote><p>如果该别名,标签或属性原来不存在,则插入,否则,用新值更新原来的旧值</p></blockquote><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>ALTER timeseries root.turbine.d1.s1 UPSERT ALIAS=newAlias TAGS(tag2=newV2, tag3=v3) ATTRIBUTES(attr3=v3, attr4=v4)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li>使用标签作为过滤条件查询时间序列,使用 TAGS(tagKey) 来标识作为过滤条件的标签</li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>SHOW TIMESERIES (&lt;`PathPattern`&gt;)? timeseriesWhereClause</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>返回给定路径的下的所有满足条件的时间序列信息,SQL 语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>ALTER timeseries root.ln.wf02.wt02.hardware ADD TAGS unit=c</span></span>
<span class="line"><span>ALTER timeseries root.ln.wf02.wt02.status ADD TAGS description=test1</span></span>
<span class="line"><span>show timeseries root.ln.** where TAGS(unit)=&#39;c&#39;</span></span>
<span class="line"><span>show timeseries root.ln.** where TAGS(description) contains &#39;test1&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>执行结果分别为:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+--------------------------+-----+-------------+--------+--------+-----------+------------+----------+--------+-------------------+</span></span>
<span class="line"><span>| timeseries|alias| database|dataType|encoding|compression| tags|attributes|deadband|deadband parameters|</span></span>
<span class="line"><span>+--------------------------+-----+-------------+--------+--------+-----------+------------+----------+--------+-------------------+</span></span>
<span class="line"><span>|root.ln.wf02.wt02.hardware| null| root.ln| TEXT| PLAIN| SNAPPY|{&quot;unit&quot;:&quot;c&quot;}| null| null| null|</span></span>
<span class="line"><span>+--------------------------+-----+-------------+--------+--------+-----------+------------+----------+--------+-------------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.005s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+------------------------+-----+-------------+--------+--------+-----------+-----------------------+----------+--------+-------------------+</span></span>
<span class="line"><span>| timeseries|alias| database|dataType|encoding|compression| tags|attributes|deadband|deadband parameters|</span></span>
<span class="line"><span>+------------------------+-----+-------------+--------+--------+-----------+-----------------------+----------+--------+-------------------+</span></span>
<span class="line"><span>|root.ln.wf02.wt02.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|{&quot;description&quot;:&quot;test1&quot;}| null| null| null|</span></span>
<span class="line"><span>+------------------------+-----+-------------+--------+--------+-----------+-----------------------+----------+--------+-------------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.004s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>使用标签作为过滤条件统计时间序列数量</li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>COUNT TIMESERIES (&lt;`PathPattern`&gt;)? timeseriesWhereClause</span></span>
<span class="line"><span>COUNT TIMESERIES (&lt;`PathPattern`&gt;)? timeseriesWhereClause GROUP BY LEVEL=&lt;INTEGER&gt;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>返回给定路径的下的所有满足条件的时间序列的数量,SQL 语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>count timeseries</span></span>
<span class="line"><span>count timeseries root.** where TAGS(unit)=&#39;c&#39;</span></span>
<span class="line"><span>count timeseries root.** where TAGS(unit)=&#39;c&#39; group by level = 2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>执行结果分别为:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; count timeseries</span></span>
<span class="line"><span>+-----------------+</span></span>
<span class="line"><span>|count(timeseries)|</span></span>
<span class="line"><span>+-----------------+</span></span>
<span class="line"><span>| 6|</span></span>
<span class="line"><span>+-----------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.019s</span></span>
<span class="line"><span>IoTDB&gt; count timeseries root.** where TAGS(unit)=&#39;c&#39;</span></span>
<span class="line"><span>+-----------------+</span></span>
<span class="line"><span>|count(timeseries)|</span></span>
<span class="line"><span>+-----------------+</span></span>
<span class="line"><span>| 2|</span></span>
<span class="line"><span>+-----------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.020s</span></span>
<span class="line"><span>IoTDB&gt; count timeseries root.** where TAGS(unit)=&#39;c&#39; group by level = 2</span></span>
<span class="line"><span>+--------------+-----------------+</span></span>
<span class="line"><span>| column|count(timeseries)|</span></span>
<span class="line"><span>+--------------+-----------------+</span></span>
<span class="line"><span>| root.ln.wf02| 2|</span></span>
<span class="line"><span>| root.ln.wf01| 0|</span></span>
<span class="line"><span>|root.sgcc.wf03| 0|</span></span>
<span class="line"><span>+--------------+-----------------+</span></span>
<span class="line"><span>Total line number = 3</span></span>
<span class="line"><span>It costs 0.011s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>注意,现在我们只支持一个查询条件,要么是等值条件查询,要么是包含条件查询。当然 where 子句中涉及的必须是标签值,而不能是属性值。</p></blockquote><p>创建对齐时间序列</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>create aligned timeseries root.sg1.d1(s1 INT32 tags(tag1=v1, tag2=v2) attributes(attr1=v1, attr2=v2), s2 DOUBLE tags(tag3=v3, tag4=v4) attributes(attr3=v3, attr4=v4))</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>执行结果如下:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; show timeseries</span></span>
<span class="line"><span>+--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+--------+-------------------+</span></span>
<span class="line"><span>| timeseries|alias| database|dataType|encoding|compression| tags| attributes|deadband|deadband parameters|</span></span>
<span class="line"><span>+--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+--------+-------------------+</span></span>
<span class="line"><span>|root.sg1.d1.s1| null| root.sg1| INT32| RLE| SNAPPY|{&quot;tag1&quot;:&quot;v1&quot;,&quot;tag2&quot;:&quot;v2&quot;}|{&quot;attr2&quot;:&quot;v2&quot;,&quot;attr1&quot;:&quot;v1&quot;}| null| null|</span></span>
<span class="line"><span>|root.sg1.d1.s2| null| root.sg1| DOUBLE| GORILLA| SNAPPY|{&quot;tag4&quot;:&quot;v4&quot;,&quot;tag3&quot;:&quot;v3&quot;}|{&quot;attr4&quot;:&quot;v4&quot;,&quot;attr3&quot;:&quot;v3&quot;}| null| null|</span></span>
<span class="line"><span>+--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+--------+-------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>支持查询:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; show timeseries where TAGS(tag1)=&#39;v1&#39;</span></span>
<span class="line"><span>+--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+--------+-------------------+</span></span>
<span class="line"><span>| timeseries|alias| database|dataType|encoding|compression| tags| attributes|deadband|deadband parameters|</span></span>
<span class="line"><span>+--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+--------+-------------------+</span></span>
<span class="line"><span>|root.sg1.d1.s1| null| root.sg1| INT32| RLE| SNAPPY|{&quot;tag1&quot;:&quot;v1&quot;,&quot;tag2&quot;:&quot;v2&quot;}|{&quot;attr2&quot;:&quot;v2&quot;,&quot;attr1&quot;:&quot;v1&quot;}| null| null|</span></span>
<span class="line"><span>+--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+--------+-------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>上述对时间序列标签、属性的更新等操作都支持。</p><h2 id="路径查询" tabindex="-1"><a class="header-anchor" href="#路径查询"><span>路径查询</span></a></h2><h3 id="查看路径的所有子路径" tabindex="-1"><a class="header-anchor" href="#查看路径的所有子路径"><span>查看路径的所有子路径</span></a></h3><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>SHOW CHILD PATHS pathPattern</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>可以查看此路径模式所匹配的所有路径的下一层的所有路径和它对应的节点类型,即pathPattern.*所匹配的路径及其节点类型。</p><p>节点类型:ROOT -&gt; SG INTERNAL -&gt; DATABASE -&gt; INTERNAL -&gt; DEVICE -&gt; TIMESERIES</p><p>示例:</p><ul><li>查询 root.ln 的下一层:show child paths root.ln</li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+------------+----------+</span></span>
<span class="line"><span>| child paths|node types|</span></span>
<span class="line"><span>+------------+----------+</span></span>
<span class="line"><span>|root.ln.wf01| INTERNAL|</span></span>
<span class="line"><span>|root.ln.wf02| INTERNAL|</span></span>
<span class="line"><span>+------------+----------+</span></span>
<span class="line"><span>Total line number = 2</span></span>
<span class="line"><span>It costs 0.002s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>查询形如 root.xx.xx.xx 的路径:show child paths root.*.*</li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+---------------+</span></span>
<span class="line"><span>| child paths|</span></span>
<span class="line"><span>+---------------+</span></span>
<span class="line"><span>|root.ln.wf01.s1|</span></span>
<span class="line"><span>|root.ln.wf02.s2|</span></span>
<span class="line"><span>+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="查看路径的下一级节点" tabindex="-1"><a class="header-anchor" href="#查看路径的下一级节点"><span>查看路径的下一级节点</span></a></h3><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>SHOW CHILD NODES pathPattern</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>可以查看此路径模式所匹配的节点的下一层的所有节点。</p><p>示例:</p><ul><li>查询 root 的下一层:show child nodes root</li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+------------+</span></span>
<span class="line"><span>| child nodes|</span></span>
<span class="line"><span>+------------+</span></span>
<span class="line"><span>| ln|</span></span>
<span class="line"><span>+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>查询 root.ln 的下一层 :show child nodes root.ln</li></ul><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+------------+</span></span>
<span class="line"><span>| child nodes|</span></span>
<span class="line"><span>+------------+</span></span>
<span class="line"><span>| wf01|</span></span>
<span class="line"><span>| wf02|</span></span>
<span class="line"><span>+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="统计节点数" tabindex="-1"><a class="header-anchor" href="#统计节点数"><span>统计节点数</span></a></h3><p>IoTDB 支持使用<code>COUNT NODES &lt;PathPattern&gt; LEVEL=&lt;INTEGER&gt;</code>来统计当前 Metadata<br> 树下满足某路径模式的路径中指定层级的节点个数。这条语句可以用来统计带有特定采样点的设备数。例如:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB &gt; COUNT NODES root.** LEVEL=2</span></span>
<span class="line"><span>IoTDB &gt; COUNT NODES root.ln.** LEVEL=2</span></span>
<span class="line"><span>IoTDB &gt; COUNT NODES root.ln.wf01.* LEVEL=3</span></span>
<span class="line"><span>IoTDB &gt; COUNT NODES root.**.temperature LEVEL=3</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>对于上面提到的例子和 Metadata Tree,你可以获得如下结果:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+------------+</span></span>
<span class="line"><span>|count(nodes)|</span></span>
<span class="line"><span>+------------+</span></span>
<span class="line"><span>| 4|</span></span>
<span class="line"><span>+------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.003s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+------------+</span></span>
<span class="line"><span>|count(nodes)|</span></span>
<span class="line"><span>+------------+</span></span>
<span class="line"><span>| 2|</span></span>
<span class="line"><span>+------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.002s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+------------+</span></span>
<span class="line"><span>|count(nodes)|</span></span>
<span class="line"><span>+------------+</span></span>
<span class="line"><span>| 1|</span></span>
<span class="line"><span>+------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.002s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+------------+</span></span>
<span class="line"><span>|count(nodes)|</span></span>
<span class="line"><span>+------------+</span></span>
<span class="line"><span>| 2|</span></span>
<span class="line"><span>+------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.002s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>注意:时间序列的路径只是过滤条件,与 level 的定义无关。</p></blockquote><h3 id="查看设备" tabindex="-1"><a class="header-anchor" href="#查看设备"><span>查看设备</span></a></h3><ul><li>SHOW DEVICES pathPattern? (WITH DATABASE)? devicesWhereClause? limitClause?</li></ul><p><code>Show Timeseries</code> 相似,IoTDB 目前也支持两种方式查看设备。</p><ul><li><code>SHOW DEVICES</code> 语句显示当前所有的设备信息,等价于 <code>SHOW DEVICES root.**</code></li><li><code>SHOW DEVICES &lt;PathPattern&gt;</code> 语句规定了 <code>PathPattern</code>,返回给定的路径模式所匹配的设备信息。</li><li><code>WHERE</code> 条件中可以使用 <code>DEVICE contains &#39;xxx&#39;</code>,根据 device 名称进行模糊查询。</li><li><code>WHERE</code> 条件中可以使用 <code>TEMPLATE = &#39;xxx&#39;</code>,<code>TEMPLATE != &#39;xxx&#39;</code>,根据 template 名称进行过滤查询。</li><li><code>WHERE</code> 条件中可以使用 <code>TEMPLATE is null</code>,<code>TEMPLATE is not null</code>,根据 template 是否为null(null 表示没激活)进行过滤查询。</li></ul><p>SQL 语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; show devices</span></span>
<span class="line"><span>IoTDB&gt; show devices root.ln.**</span></span>
<span class="line"><span>IoTDB&gt; show devices root.ln.** where device contains &#39;t&#39;</span></span>
<span class="line"><span>IoTDB&gt; show devices root.ln.** where template = &#39;t1&#39;</span></span>
<span class="line"><span>IoTDB&gt; show devices root.ln.** where template is null</span></span>
<span class="line"><span>IoTDB&gt; show devices root.ln.** where template != &#39;t1&#39;</span></span>
<span class="line"><span>IoTDB&gt; show devices root.ln.** where template is not null</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>你可以获得如下数据:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+-------------------+---------+---------+</span></span>
<span class="line"><span>| devices|isAligned| Template|</span></span>
<span class="line"><span>+-------------------+---------+---------+</span></span>
<span class="line"><span>| root.ln.wf01.wt01| false| t1|</span></span>
<span class="line"><span>| root.ln.wf02.wt02| false| null|</span></span>
<span class="line"><span>|root.sgcc.wf03.wt01| false| null|</span></span>
<span class="line"><span>| root.turbine.d1| false| null|</span></span>
<span class="line"><span>+-------------------+---------+---------+</span></span>
<span class="line"><span>Total line number = 4</span></span>
<span class="line"><span>It costs 0.002s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+-----------------+---------+---------+</span></span>
<span class="line"><span>| devices|isAligned| Template|</span></span>
<span class="line"><span>+-----------------+---------+---------+</span></span>
<span class="line"><span>|root.ln.wf01.wt01| false| t1|</span></span>
<span class="line"><span>|root.ln.wf02.wt02| false| null|</span></span>
<span class="line"><span>+-----------------+---------+---------+</span></span>
<span class="line"><span>Total line number = 2</span></span>
<span class="line"><span>It costs 0.001s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+-----------------+---------+---------+</span></span>
<span class="line"><span>| devices|isAligned| Template|</span></span>
<span class="line"><span>+-----------------+---------+---------+</span></span>
<span class="line"><span>|root.ln.wf01.wt01| false| t1|</span></span>
<span class="line"><span>|root.ln.wf02.wt02| false| null|</span></span>
<span class="line"><span>+-----------------+---------+---------+</span></span>
<span class="line"><span>Total line number = 2</span></span>
<span class="line"><span>It costs 0.001s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+-----------------+---------+---------+</span></span>
<span class="line"><span>| devices|isAligned| Template|</span></span>
<span class="line"><span>+-----------------+---------+---------+</span></span>
<span class="line"><span>|root.ln.wf01.wt01| false| t1|</span></span>
<span class="line"><span>+-----------------+---------+---------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.001s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+-----------------+---------+---------+</span></span>
<span class="line"><span>| devices|isAligned| Template|</span></span>
<span class="line"><span>+-----------------+---------+---------+</span></span>
<span class="line"><span>|root.ln.wf02.wt02| false| null|</span></span>
<span class="line"><span>+-----------------+---------+---------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.001s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>其中,<code>isAligned</code>表示该设备下的时间序列是否对齐,<br><code>Template</code>显示着该设备所激活的模板名,null 表示没有激活模板。</p><p>查看设备及其 database 信息,可以使用 <code>SHOW DEVICES WITH DATABASE</code> 语句。</p><ul><li><code>SHOW DEVICES WITH DATABASE</code> 语句显示当前所有的设备信息和其所在的 database,等价于 <code>SHOW DEVICES root.**</code></li><li><code>SHOW DEVICES &lt;PathPattern&gt; WITH DATABASE</code> 语句规定了 <code>PathPattern</code>,返回给定的路径模式所匹配的设备信息和其所在的 database。</li></ul><p>SQL 语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; show devices with database</span></span>
<span class="line"><span>IoTDB&gt; show devices root.ln.** with database</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>你可以获得如下数据:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+-------------------+-------------+---------+---------+</span></span>
<span class="line"><span>| devices| database|isAligned| Template|</span></span>
<span class="line"><span>+-------------------+-------------+---------+---------+</span></span>
<span class="line"><span>| root.ln.wf01.wt01| root.ln| false| t1|</span></span>
<span class="line"><span>| root.ln.wf02.wt02| root.ln| false| null|</span></span>
<span class="line"><span>|root.sgcc.wf03.wt01| root.sgcc| false| null|</span></span>
<span class="line"><span>| root.turbine.d1| root.turbine| false| null|</span></span>
<span class="line"><span>+-------------------+-------------+---------+---------+</span></span>
<span class="line"><span>Total line number = 4</span></span>
<span class="line"><span>It costs 0.003s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+-----------------+-------------+---------+---------+</span></span>
<span class="line"><span>| devices| database|isAligned| Template|</span></span>
<span class="line"><span>+-----------------+-------------+---------+---------+</span></span>
<span class="line"><span>|root.ln.wf01.wt01| root.ln| false| t1|</span></span>
<span class="line"><span>|root.ln.wf02.wt02| root.ln| false| null|</span></span>
<span class="line"><span>+-----------------+-------------+---------+---------+</span></span>
<span class="line"><span>Total line number = 2</span></span>
<span class="line"><span>It costs 0.001s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="统计设备数量" tabindex="-1"><a class="header-anchor" href="#统计设备数量"><span>统计设备数量</span></a></h3><ul><li>COUNT DEVICES &lt;PathPattern&gt;</li></ul><p>上述语句用于统计设备的数量,同时允许指定<code>PathPattern</code> 用于统计匹配该<code>PathPattern</code> 的设备数量</p><p>SQL 语句如下所示:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB&gt; show devices</span></span>
<span class="line"><span>IoTDB&gt; count devices</span></span>
<span class="line"><span>IoTDB&gt; count devices root.ln.**</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>你可以获得如下数据:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>+-------------------+---------+---------+</span></span>
<span class="line"><span>| devices|isAligned| Template|</span></span>
<span class="line"><span>+-------------------+---------+---------+</span></span>
<span class="line"><span>|root.sgcc.wf03.wt03| false| null|</span></span>
<span class="line"><span>| root.turbine.d1| false| null|</span></span>
<span class="line"><span>| root.ln.wf02.wt02| false| null|</span></span>
<span class="line"><span>| root.ln.wf01.wt01| false| t1|</span></span>
<span class="line"><span>+-------------------+---------+---------+</span></span>
<span class="line"><span>Total line number = 4</span></span>
<span class="line"><span>It costs 0.024s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+--------------+</span></span>
<span class="line"><span>|count(devices)|</span></span>
<span class="line"><span>+--------------+</span></span>
<span class="line"><span>| 4|</span></span>
<span class="line"><span>+--------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.004s</span></span>
<span class="line"><span></span></span>
<span class="line"><span>+--------------+</span></span>
<span class="line"><span>|count(devices)|</span></span>
<span class="line"><span>+--------------+</span></span>
<span class="line"><span>| 2|</span></span>
<span class="line"><span>+--------------+</span></span>
<span class="line"><span>Total line number = 1</span></span>
<span class="line"><span>It costs 0.004s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><!----><!----><!----></div><footer class="vp-page-meta"><div class="vp-meta-item edit-link"><a class="auto-link external-link vp-meta-label" href="https://github.com/apache/iotdb-docs/edit/main/src/zh/UserGuide/dev-1.3/Basic-Concept/Operate-Metadata_apache.md" aria-label="发现错误?在 GitHub 上编辑此页" rel="noopener noreferrer" target="_blank"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon" name="edit"><path d="M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"></path><path d="M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"></path></svg><!--]-->发现错误?在 GitHub 上编辑此页<!----></a></div><div class="vp-meta-item git-info"><div class="update-time"><span class="vp-meta-label">最近更新: </span><time class="vp-meta-info" datetime="2026-04-10T04:10:20.000Z" data-allow-mismatch>2026/4/10 04:10</time></div><!----></div></footer><!----><!----><!----><!--]--></main><!--]--><footer class="site-footer"><span id="doc-version" style="display:none;">dev-1.3</span><p class="copyright-text">版权所有 © 2026 Apache软件基金会。
Apache IoTDB,IoTDB,Apache,Apache 羽毛标志和 Apache IoTDB 项目标志是 Apache 软件基金会在所有国家的注册商标或商标</p><p style="text-align:center;margin-top:10px;color:#909399;font-size:12px;margin:0 30px;"><strong>有问题吗?</strong> 在 QQ、微信或 Slack 上联系我们。 <a href="https://github.com/apache/iotdb/issues/1995">立即加入社区</a></p></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
<script type="module" src="/assets/app-pmkzp6TS.js" defer></script>
</body>
</html>