From 1a9cceffc308fd68904fa3abcbd9ec804c9b1b0b Mon Sep 17 00:00:00 2001 From: W1y1r <150988475+W1y1r@users.noreply.github.com> Date: Fri, 6 Dec 2024 13:06:28 +0800 Subject: [PATCH] Explanation for adding quotation marks on the modeling scheme design page (#450) --- .../Data-Model-and-Terminology.md | 5 +- .../Master/Tree/Reference/Syntax-Rule.md | 167 +++++++++--------- .../Data-Model-and-Terminology.md | 6 +- src/UserGuide/latest/Reference/Syntax-Rule.md | 166 ++++++++--------- .../Data-Model-and-Terminology.md | 5 +- .../Master/Tree/Reference/Syntax-Rule.md | 25 ++- .../Data-Model-and-Terminology.md | 5 +- .../UserGuide/latest/Reference/Syntax-Rule.md | 21 ++- 8 files changed, 211 insertions(+), 189 deletions(-) diff --git a/src/UserGuide/Master/Tree/Basic-Concept/Data-Model-and-Terminology.md b/src/UserGuide/Master/Tree/Basic-Concept/Data-Model-and-Terminology.md index 502e393a..015a4035 100644 --- a/src/UserGuide/Master/Tree/Basic-Concept/Data-Model-and-Terminology.md +++ b/src/UserGuide/Master/Tree/Basic-Concept/Data-Model-and-Terminology.md @@ -87,7 +87,10 @@ The following are the constraints on the `nodeName`: * [ 0-9 a-z A-Z _ ] (letters, numbers, underscore) * ['\u2E80'..'\u9FFF'] (Chinese characters) * In particular, if the system is deployed on a Windows machine, the database layer name will be case-insensitive. For example, creating both `root.ln` and `root.LN` at the same time is not allowed. -* If you want to use special characters in `nodeName`, you can quote it with back quote, detailed information can be found from charpter Syntax-Conventions,click here: [Syntax-Conventions](https://iotdb.apache.org/UserGuide/Master/Syntax-Conventions/Literal-Values.html). + +### Special characters (Reverse quotation marks) + +If you need to use special characters in the path node name, you can use reverse quotation marks to reference the path node name. For specific usage, please refer to [Reverse Quotation Marks](../Reference/Syntax-Rule.md#reverse-quotation-marks). ### Path Pattern diff --git a/src/UserGuide/Master/Tree/Reference/Syntax-Rule.md b/src/UserGuide/Master/Tree/Reference/Syntax-Rule.md index f427b707..320fa146 100644 --- a/src/UserGuide/Master/Tree/Reference/Syntax-Rule.md +++ b/src/UserGuide/Master/Tree/Reference/Syntax-Rule.md @@ -171,110 +171,111 @@ Below are basic constraints of identifiers, specific identifiers may have other - Permitted characters in unquoted identifiers: - [0-9 a-z A-Z _ ] (letters, digits and underscore) - ['\u2E80'..'\u9FFF'] (UNICODE Chinese characters) -- Identifiers may begin with a digit, unquoted identifiers can not be a real number. -- Identifiers are case sensitive. -- Key words can be used as an identifier. -**You need to quote the identifier with back quote(`) in the following cases:** +### Reverse quotation marks -- Identifier contains special characters. -- Identifier that is a real number. +**If the following situations occur, the identifier needs to be quoted using reverse quotes:** -### How to use quotations marks in quoted identifiers +- The identifier contains special characters that are not allowed. +- The identifier is a real number. -`'` and `"` can be used directly in quoted identifiers. +#### How to use quotation marks in identifiers caused by reverse quotation marks -` may be written as `` in quoted identifiers. See the example below: +**Single and double quotes can be directly used in identifiers caused by reverse quotes.** -```sql -# create template t1't"t -create device template `t1't"t` -(temperature FLOAT encoding=RLE, status BOOLEAN encoding=PLAIN compression=SNAPPY) +**In identifiers referenced with quotation marks, quotation marks can be used by double writing them, meaning ` can be represented as``.** + +example: -# create template t1`t +```SQL +# Create Template t1 ` t create device template `t1``t` (temperature FLOAT encoding=RLE, status BOOLEAN encoding=PLAIN compression=SNAPPY) + +# Create Template t1't "t +create device template `t1't"t` +(temperature FLOAT encoding=RLE, status BOOLEAN encoding=PLAIN compression=SNAPPY) ``` -### Examples +#### Examples of Reverse Quotation Marks -Examples of case in which quoted identifier is used : +- When the trigger name encounters the above special situations, reverse quotation marks should be used to reference it: -- Trigger name should be quoted in cases described above : + ```sql + # Create trigger alert.` listener-sg1d1s1 + CREATE TRIGGER `alert.``listener-sg1d1s1` + AFTER INSERT + ON root.sg1.d1.s1 + AS 'org.apache.iotdb.db.engine.trigger.example.AlertListener' + WITH ( + 'lo' = '0', + 'hi' = '100.0' + ) + ``` - ```sql - # create trigger named alert.`listener-sg1d1s1 - CREATE TRIGGER `alert.``listener-sg1d1s1` - AFTER INSERT - ON root.sg1.d1.s1 - AS 'org.apache.iotdb.db.storageengine.trigger.example.AlertListener' - WITH ( - 'lo' = '0', - 'hi' = '100.0' - ) - ``` +- When the UDF name encounters the above special situations, reverse quotation marks should be used for reference: -- UDF name should be quoted in cases described above : - - ```sql - # create a funciton named 111, 111 is a real number. - CREATE FUNCTION `111` AS 'org.apache.iotdb.udf.UDTFExample' - ``` + ```sql + # Create a UDF named 111, which is a real number and needs to be quoted in reverse quotation marks. + CREATE FUNCTION `111` AS 'org.apache.iotdb.udf.UDTFExample' + ``` -- Template name should be quoted in cases described above : +- When the metadata template name encounters the above special situations, reverse quotation marks should be used for reference: - ```sql - # create a template named 111, 111 is a real number. - create device template `111` - (temperature FLOAT encoding=RLE, status BOOLEAN encoding=PLAIN compression=SNAPPY) - ``` + ```sql + # Create a metadata template named 111, where 111 is a real number and needs to be quoted in reverse quotation marks. + create device template `111` + (temperature FLOAT encoding=RLE, status BOOLEAN encoding=PLAIN compression=SNAPPY) + ``` -- User and Role name should be quoted in cases described above, blank space is not allow in User and Role name whether quoted or not : +- When the username and role name encounter the above special situations, reverse quotation marks should be used for reference. Regardless of whether reverse quotation marks are used or not, spaces are not allowed in the username and role name. Please refer to the instructions in the permission management section for details. - ```sql - # create user special`user. - CREATE USER `special``user.` 'write_pwd' - - # create role 111 - CREATE ROLE `111` - ``` - -- Continuous query name should be quoted in cases described above : - - ```sql - # create continuous query test.cq - CREATE CONTINUOUS QUERY `test.cq` - BEGIN - SELECT max_value(temperature) - INTO temperature_max - FROM root.ln.*.* - GROUP BY time(10s) - END - ``` - -- Pipe、PipeSink should be quoted in cases described above : + ```sql + # Create user special ` user. + CREATE USER `special``user.` 'write_pwd' + + # Create Character 111 + CREATE ROLE `111` + ``` + +- When encountering the above special situations in continuous query identification, reverse quotation marks should be used to reference: + + ```sql + # Create continuous query test.cq + CREATE CONTINUOUS QUERY `test.cq` + BEGIN + SELECT max_value(temperature) + INTO temperature_max + FROM root.ln.*.* + GROUP BY time(10s) + END + ``` + +- When the names Pipe and PipeSink encounter the above special situations, reverse quotation marks should be used for reference: + + ```sql + # Create PipeSink test. * 1 + CREATE PIPESINK `test.*1` AS IoTDB ('ip' = '输入你的IP') + + # Create Pipe Test. * 2 + CREATE PIPE `test.*2` TO `test.*1` FROM + (select ** from root WHERE time>=yyyy-mm-dd HH:MM:SS) WITH 'SyncDelOp' = 'true' + ``` - ```sql - # create PipeSink test.*1 - CREATE PIPESINK `test.*1` AS IoTDB ('ip' = '输入你的IP') - - # create Pipe test.*2 - CREATE PIPE `test.*2` TO `test.*1` FROM - (select ** from root WHERE time>=yyyy-mm-dd HH:MM:SS) WITH 'SyncDelOp' = 'true' - ``` +- In the Select clause, an alias can be specified for the value in the result set, which can be defined as a string or identifier. Examples are as follows: -- `AS` function provided by IoTDB can assign an alias to time series selected in query. Alias can be constant(including string) or identifier. + ```sql + select s1 as temperature, s2 as speed from root.ln.wf01.wt01; + # 表头如下所示 + +-----------------------------+-----------+-----+ + | Time|temperature|speed| + +-----------------------------+-----------+-----+ + ``` - ```sql - select s1 as temperature, s2 as speed from root.ln.wf01.wt01; - - # Header of result dataset - +-----------------------------+-----------|-----+ - | Time|temperature|speed| - +-----------------------------+-----------|-----+ - ``` +- Used to represent key value pairs, the keys and values of key value pairs can be defined as constants (including strings) or identifiers. Please refer to the Key Value Pair section for details. -- The key/value of an attribute can be String Literal and identifier, more details can be found at **key-value pair** part. - -- Nodes except database in the path are allowed to contain the "*" symbol, when using this symbol it is required to enclose the node in backquotes, e.g., root.db.`*`, but this usage is only recommended when the path cannot avoid containing the "*" symbol. +- Non database nodes in the path are allowed to contain the symbol `*`. When using it, the node needs to be enclosed in reverse quotes (as shown below), but this usage is only recommended when the path inevitably contains `*`. + ```sql + `root.db.*` + ``` \ No newline at end of file diff --git a/src/UserGuide/latest/Basic-Concept/Data-Model-and-Terminology.md b/src/UserGuide/latest/Basic-Concept/Data-Model-and-Terminology.md index 502e393a..fae2734c 100644 --- a/src/UserGuide/latest/Basic-Concept/Data-Model-and-Terminology.md +++ b/src/UserGuide/latest/Basic-Concept/Data-Model-and-Terminology.md @@ -87,7 +87,11 @@ The following are the constraints on the `nodeName`: * [ 0-9 a-z A-Z _ ] (letters, numbers, underscore) * ['\u2E80'..'\u9FFF'] (Chinese characters) * In particular, if the system is deployed on a Windows machine, the database layer name will be case-insensitive. For example, creating both `root.ln` and `root.LN` at the same time is not allowed. -* If you want to use special characters in `nodeName`, you can quote it with back quote, detailed information can be found from charpter Syntax-Conventions,click here: [Syntax-Conventions](https://iotdb.apache.org/UserGuide/Master/Syntax-Conventions/Literal-Values.html). + +### Special characters (Reverse quotation marks) + +If you need to use special characters in the path node name, you can use reverse quotation marks to reference the path node name. For specific usage, please refer to [Reverse Quotation Marks](../Reference/Syntax-Rule.md#reverse-quotation-marks). + ### Path Pattern diff --git a/src/UserGuide/latest/Reference/Syntax-Rule.md b/src/UserGuide/latest/Reference/Syntax-Rule.md index 9dcb1848..3143014f 100644 --- a/src/UserGuide/latest/Reference/Syntax-Rule.md +++ b/src/UserGuide/latest/Reference/Syntax-Rule.md @@ -171,109 +171,113 @@ Below are basic constraints of identifiers, specific identifiers may have other - Permitted characters in unquoted identifiers: - [0-9 a-z A-Z _ ] (letters, digits and underscore) - ['\u2E80'..'\u9FFF'] (UNICODE Chinese characters) -- Identifiers may begin with a digit, unquoted identifiers can not be a real number. -- Identifiers are case sensitive. -- Key words can be used as an identifier. -**You need to quote the identifier with back quote(`) in the following cases:** -- Identifier contains special characters. -- Identifier that is a real number. +### Reverse quotation marks -### How to use quotations marks in quoted identifiers +**If the following situations occur, the identifier needs to be quoted using reverse quotes:** -`'` and `"` can be used directly in quoted identifiers. +- The identifier contains special characters that are not allowed. +- The identifier is a real number. -` may be written as `` in quoted identifiers. See the example below: +#### How to use quotation marks in identifiers caused by reverse quotation marks -```sql -# create template t1't"t -create device template `t1't"t` -(temperature FLOAT encoding=RLE, status BOOLEAN encoding=PLAIN compression=SNAPPY) +**Single and double quotes can be directly used in identifiers caused by reverse quotes.** + +**In identifiers referenced with quotation marks, quotation marks can be used by double writing them, meaning ` can be represented as``.** -# create template t1`t +example: + +```SQL +# Create Template t1 ` t create device template `t1``t` (temperature FLOAT encoding=RLE, status BOOLEAN encoding=PLAIN compression=SNAPPY) -``` -### Examples - -Examples of case in which quoted identifier is used : +# Create Template t1't "t +create device template `t1't"t` +(temperature FLOAT encoding=RLE, status BOOLEAN encoding=PLAIN compression=SNAPPY) +``` -- Trigger name should be quoted in cases described above : +#### Examples of Reverse Quotation Marks - ```sql - # create trigger named alert.`listener-sg1d1s1 - CREATE TRIGGER `alert.``listener-sg1d1s1` - AFTER INSERT - ON root.sg1.d1.s1 - AS 'org.apache.iotdb.db.storageengine.trigger.example.AlertListener' - WITH ( - 'lo' = '0', - 'hi' = '100.0' - ) - ``` +- When the trigger name encounters the above special situations, reverse quotation marks should be used to reference it: -- UDF name should be quoted in cases described above : + ```sql + # Create trigger alert.` listener-sg1d1s1 + CREATE TRIGGER `alert.``listener-sg1d1s1` + AFTER INSERT + ON root.sg1.d1.s1 + AS 'org.apache.iotdb.db.engine.trigger.example.AlertListener' + WITH ( + 'lo' = '0', + 'hi' = '100.0' + ) + ``` - ```sql - # create a funciton named 111, 111 is a real number. - CREATE FUNCTION `111` AS 'org.apache.iotdb.udf.UDTFExample' - ``` +- When the UDF name encounters the above special situations, reverse quotation marks should be used for reference: -- Template name should be quoted in cases described above : + ```sql + # Create a UDF named 111, which is a real number and needs to be quoted in reverse quotation marks. + CREATE FUNCTION `111` AS 'org.apache.iotdb.udf.UDTFExample' + ``` - ```sql - # create a template named 111, 111 is a real number. - create device template `111` - (temperature FLOAT encoding=RLE, status BOOLEAN encoding=PLAIN compression=SNAPPY) - ``` +- When the metadata template name encounters the above special situations, reverse quotation marks should be used for reference: -- User and Role name should be quoted in cases described above, blank space is not allow in User and Role name whether quoted or not : + ```sql + # Create a metadata template named 111, where 111 is a real number and needs to be quoted in reverse quotation marks. + create device template `111` + (temperature FLOAT encoding=RLE, status BOOLEAN encoding=PLAIN compression=SNAPPY) + ``` - ```sql - # create user special`user. - CREATE USER `special``user.` 'write_pwd' - - # create role 111 - CREATE ROLE `111` - ``` +- When the username and role name encounter the above special situations, reverse quotation marks should be used for reference. Regardless of whether reverse quotation marks are used or not, spaces are not allowed in the username and role name. Please refer to the instructions in the permission management section for details. -- Continuous query name should be quoted in cases described above : + ```sql + # Create user special ` user. + CREATE USER `special``user.` 'write_pwd' + + # Create Character 111 + CREATE ROLE `111` + ``` + +- When encountering the above special situations in continuous query identification, reverse quotation marks should be used to reference: + + ```sql + # Create continuous query test.cq + CREATE CONTINUOUS QUERY `test.cq` + BEGIN + SELECT max_value(temperature) + INTO temperature_max + FROM root.ln.*.* + GROUP BY time(10s) + END + ``` + +- When the names Pipe and PipeSink encounter the above special situations, reverse quotation marks should be used for reference: + + ```sql + # Create PipeSink test. * 1 + CREATE PIPESINK `test.*1` AS IoTDB ('ip' = '输入你的IP') + + # Create Pipe Test. * 2 + CREATE PIPE `test.*2` TO `test.*1` FROM + (select ** from root WHERE time>=yyyy-mm-dd HH:MM:SS) WITH 'SyncDelOp' = 'true' + ``` - ```sql - # create continuous query test.cq - CREATE CONTINUOUS QUERY `test.cq` - BEGIN - SELECT max_value(temperature) - INTO temperature_max - FROM root.ln.*.* - GROUP BY time(10s) - END - ``` +- In the Select clause, an alias can be specified for the value in the result set, which can be defined as a string or identifier. Examples are as follows: -- Pipe、PipeSink should be quoted in cases described above : + ```sql + select s1 as temperature, s2 as speed from root.ln.wf01.wt01; + # 表头如下所示 + +-----------------------------+-----------+-----+ + | Time|temperature|speed| + +-----------------------------+-----------+-----+ + ``` - ```sql - # create PipeSink test.*1 - CREATE PIPESINK `test.*1` AS IoTDB ('ip' = '输入你的IP') - - # create Pipe test.*2 - CREATE PIPE `test.*2` TO `test.*1` FROM - (select ** from root WHERE time>=yyyy-mm-dd HH:MM:SS) WITH 'SyncDelOp' = 'true' - ``` +- Used to represent key value pairs, the keys and values of key value pairs can be defined as constants (including strings) or identifiers. Please refer to the Key Value Pair section for details. -- `AS` function provided by IoTDB can assign an alias to time series selected in query. Alias can be constant(including string) or identifier. +- Non database nodes in the path are allowed to contain the symbol `*`. When using it, the node needs to be enclosed in reverse quotes (as shown below), but this usage is only recommended when the path inevitably contains `*`. - ```sql - select s1 as temperature, s2 as speed from root.ln.wf01.wt01; - - # Header of result dataset - +-----------------------------+-----------|-----+ - | Time|temperature|speed| - +-----------------------------+-----------|-----+ - ``` + ```sql + `root.db.*` + ``` -- The key/value of an attribute can be String Literal and identifier, more details can be found at **key-value pair** part. - -- Nodes except database in the path are allowed to contain the "*" symbol, when using this symbol it is required to enclose the node in backquotes, e.g., root.db.`*`, but this usage is only recommended when the path cannot avoid containing the "*" symbol. diff --git a/src/zh/UserGuide/Master/Tree/Basic-Concept/Data-Model-and-Terminology.md b/src/zh/UserGuide/Master/Tree/Basic-Concept/Data-Model-and-Terminology.md index f5a00fe8..1d6fdf0f 100644 --- a/src/zh/UserGuide/Master/Tree/Basic-Concept/Data-Model-and-Terminology.md +++ b/src/zh/UserGuide/Master/Tree/Basic-Concept/Data-Model-and-Terminology.md @@ -125,7 +125,10 @@ wildcard * [ 0-9 a-z A-Z _ ] (字母,数字,下划线) * ['\u2E80'..'\u9FFF'] (UNICODE 中文字符) * 特别地,如果系统在 Windows 系统上部署,那么 database 路径结点名是大小写不敏感的。例如,同时创建`root.ln` 和 `root.LN` 是不被允许的。 -* 如果需要在路径结点名中用特殊字符,可以用反引号引用路径结点名,具体使用方法可以参考[语法约定](../User-Manual/Syntax-Rule.md)。 + +### 特殊字符(反引号) + +如果需要在路径结点名中用特殊字符,可以用反引号引用路径结点名,具体使用方法可以参考[反引号](../Reference/Syntax-Rule.md#反引号)。 ## 路径模式(Path Pattern) diff --git a/src/zh/UserGuide/Master/Tree/Reference/Syntax-Rule.md b/src/zh/UserGuide/Master/Tree/Reference/Syntax-Rule.md index 0442ffeb..1579bc52 100644 --- a/src/zh/UserGuide/Master/Tree/Reference/Syntax-Rule.md +++ b/src/zh/UserGuide/Master/Tree/Reference/Syntax-Rule.md @@ -166,22 +166,20 @@ - [ 0-9 a-z A-Z _ ] (字母,数字,下划线) - ['\u2E80'..'\u9FFF'] (UNICODE 中文字符) -- 标识符允许使用数字开头、不使用反引号括起的标识符不能全部为数字。 - -- 标识符是大小写敏感的。 - -- 标识符允许为关键字。 +### 反引号 **如果出现如下情况,标识符需要使用反引号进行引用:** - 标识符包含不允许的特殊字符。 - 标识符为实数。 -### 如何在反引号引起的标识符中使用引号 +#### 如何在反引号引起的标识符中使用引号 **在反引号引起的标识符中可以直接使用单引号和双引号。** -**在用反引号引用的标识符中,可以通过双写反引号的方式使用反引号,即 ` 可以表示为 ``**,示例如下: +**在用反引号引用的标识符中,可以通过双写反引号的方式使用反引号,即 ` 可以表示为 ``。** + +示例如下: ```SQL # 创建模板 t1`t @@ -193,9 +191,7 @@ create device template `t1't"t` (temperature FLOAT encoding=RLE, status BOOLEAN encoding=PLAIN compression=SNAPPY) ``` -### 特殊情况示例 - -需要使用反引号进行引用的部分情况示例: +#### 反引号相关示例 - 触发器名称出现上述特殊情况时需使用反引号引用: @@ -271,6 +267,9 @@ create device template `t1't"t` ``` - 用于表示键值对,键值对的键和值可以被定义成常量(包括字符串)或者标识符,具体请参考键值对章节。 - -- 路径中非database的节点允许含有“*”符号,在使用时需要把该节点用反引号括起来,如root.db.`*`,但是此种用法只建议在路径中不可避免含有“*”时使用。 - + +- 路径中非 database 的节点允许含有`*`符号,在使用时需要把该节点用反引号括起来(如下),但是此种用法只建议在在路径中不可避免含有`*`时使用。 + + ```sql + `root.db.*` + ``` diff --git a/src/zh/UserGuide/latest/Basic-Concept/Data-Model-and-Terminology.md b/src/zh/UserGuide/latest/Basic-Concept/Data-Model-and-Terminology.md index f5a00fe8..1d6fdf0f 100644 --- a/src/zh/UserGuide/latest/Basic-Concept/Data-Model-and-Terminology.md +++ b/src/zh/UserGuide/latest/Basic-Concept/Data-Model-and-Terminology.md @@ -125,7 +125,10 @@ wildcard * [ 0-9 a-z A-Z _ ] (字母,数字,下划线) * ['\u2E80'..'\u9FFF'] (UNICODE 中文字符) * 特别地,如果系统在 Windows 系统上部署,那么 database 路径结点名是大小写不敏感的。例如,同时创建`root.ln` 和 `root.LN` 是不被允许的。 -* 如果需要在路径结点名中用特殊字符,可以用反引号引用路径结点名,具体使用方法可以参考[语法约定](../User-Manual/Syntax-Rule.md)。 + +### 特殊字符(反引号) + +如果需要在路径结点名中用特殊字符,可以用反引号引用路径结点名,具体使用方法可以参考[反引号](../Reference/Syntax-Rule.md#反引号)。 ## 路径模式(Path Pattern) diff --git a/src/zh/UserGuide/latest/Reference/Syntax-Rule.md b/src/zh/UserGuide/latest/Reference/Syntax-Rule.md index 0442ffeb..29571210 100644 --- a/src/zh/UserGuide/latest/Reference/Syntax-Rule.md +++ b/src/zh/UserGuide/latest/Reference/Syntax-Rule.md @@ -172,16 +172,20 @@ - 标识符允许为关键字。 +### 反引号 + **如果出现如下情况,标识符需要使用反引号进行引用:** - 标识符包含不允许的特殊字符。 - 标识符为实数。 -### 如何在反引号引起的标识符中使用引号 +#### 如何在反引号引起的标识符中使用引号 **在反引号引起的标识符中可以直接使用单引号和双引号。** -**在用反引号引用的标识符中,可以通过双写反引号的方式使用反引号,即 ` 可以表示为 ``**,示例如下: +**在用反引号引用的标识符中,可以通过双写反引号的方式使用反引号,即 ` 可以表示为 ``。** + +示例如下: ```SQL # 创建模板 t1`t @@ -193,9 +197,7 @@ create device template `t1't"t` (temperature FLOAT encoding=RLE, status BOOLEAN encoding=PLAIN compression=SNAPPY) ``` -### 特殊情况示例 - -需要使用反引号进行引用的部分情况示例: +#### 反引号相关示例 - 触发器名称出现上述特殊情况时需使用反引号引用: @@ -271,6 +273,9 @@ create device template `t1't"t` ``` - 用于表示键值对,键值对的键和值可以被定义成常量(包括字符串)或者标识符,具体请参考键值对章节。 - -- 路径中非database的节点允许含有“*”符号,在使用时需要把该节点用反引号括起来,如root.db.`*`,但是此种用法只建议在路径中不可避免含有“*”时使用。 - + +- 路径中非 database 的节点允许含有`*`符号,在使用时需要把该节点用反引号括起来(如下),但是此种用法只建议在在路径中不可避免含有`*`时使用。 + + ```sql + `root.db.*` + ```