大数据学习
bigdata learning
Toggle navigation
大数据学习
主页
openGauss数据库
Flume
MongoDB
Hadoop
数据库实验
Kafka
Zookeeper
Hbase
Manual
Spark
Neo4j
InfluxDB
RabbitMQ
Flink
About Me
归档
标签
09-Neo4j-DELETE-REMOVE
无
2024-04-17 09:59:47
26
0
0
bigdata
# DELETE语法 Neo4j 使用 CQL DELETE 子句 * 删除节点。 * 删除节点及相关节点和关系。 我们将在本章中讨论如何删除一个节点。 我们将在下一章讨论如何删除节点和相关的节点和关系。 删除节点 - 通过使用此命令,我们可以从数据库永久删除节点及其关联的属性。 ## DELETE 节点子句语法 ``` DELETE <node-name-list> ``` <table><tbody><tr><th>S.No.</th><th>语法元素</th><th>描述</th></tr><tr><td>1.</td><td>DELETE</td><td>它是一个 Neo4j CQL 关键字。</td></tr><tr><td>2.</td><td><node-name-list></td><td>它是一个要从数据库中删除的节点名称列表。</td></tr></tbody></table> **注意 -** 我们应该使用逗号(,)运算符来分隔节点名。 ### 例如: 此示例演示如何从数据库中永久删除节点。 **步骤 1** - 打开 Neo4j 数据浏览器。 **步骤 2** - 在数据浏览器上键入以下命令 ``` MATCH (e: Employee) RETURN e ``` **注意 -** MATCH (e: 'Employee') RETURN e MATCH (e: "Employee") RETURN e MATCH (e: Employee) RETURN e 所有三个命令都相同,我们可以选择这些命令中的任何一个。  **步骤 3** - 点击 “执行” 按钮并观察结果。  这里我们可以观察到在数据库中有一个节点可用 “Employee” 名称。 **步骤 4** - 在数据浏览器上键入以下命令。 ``` MATCH (e: Employee) DELETE e ``` 现在,而不是 “返回 e”,使用“DELETE e” 命令删除 Employee 节点  **步骤 5** - 单击 “执行” 按钮并观察结果。  这里我们可以看到一个节点从数据库中删除。 现在检查是否从数据库中删除 Employee 节点。 **步骤 6** - 键入以下命令,然后单击执行命令。 ``` MATCH (e: Employee) RETURN e ```  在这里我们可以观察到 Employee 节点被永久删除为零查询返回的行。 ## DELETE 节点和关系子句语法 ``` DELETE <node1-name>,<node2-name>,<relationship-name> ``` <table><tbody><tr><th>S.No.</th><th>语法元素</th><th>描述</th></tr><tr><td>1.</td><td>DELETE</td><td>它是一个 Neo4j CQL 关键字。</td></tr><tr><td>2.</td><td><node1-name></td><td>它是用于创建关系 <relationship-name> 的一个结束节点名称。</td></tr><tr><td>3.</td><td><node2-name></td><td>它是用于创建关系 <relationship-name> 的另一个节点名称。</td></tr><tr><td>4.</td><td><relationship-name></td><td>它是一个关系名称,它在 <node1-name> 和 < node2-name > 之间创建。</td></tr></tbody></table> **注意 -** 我们应该使用逗号(,)运算符来分隔节点名称和关系名称。 ### 例如: 此示例演示如何从数据库永久删除节点及其关联节点和关系。 **步骤 1** - 打开 Neo4j 数据浏览器 **步骤 2** - 在数据浏览器上键入以下命令 ``` MATCH (cc:CreditCard)-[r]-(c:Customer)RETURN r ```  **Step 3** **-** 点击 “执行” 按钮并观察结果。  在这里我们观察到一个节点为客户,一个节点为信用卡和它们之间的关系是可用的。 **步骤 4** - 在数据浏览器上键入以下命令 ``` MATCH (cc: CreditCard)-[rel]-(c:Customer) DELETE cc,c,rel ```  **步骤 5** - 点击 “执行” 按钮并观察结果。  这里我们可以观察到两个节点及其关联的 10 个关系被成功删除。 **步骤 6** - 在数据浏览器上键入以下命令。 ``` MATCH (cc:CreditCard)-[r]-(c:Customer) RETURN r ```  **步骤 7** - 点击 “执行” 按钮并观察结果。  这里我们可以看到从数据库返回的零行。 # REMOVE语法 有时基于我们的客户端要求,我们需要向现有节点或关系添加或删除属性。 我们使用 Neo4j CQL SET 子句向现有节点或关系添加新属性。 我们使用 Neo4j CQL REMOVE 子句来删除节点或关系的现有属性。 Neo4j CQL REMOVE 命令用于 * 删除节点或关系的标签 * 删除节点或关系的属性 Neo4j CQL DELETE 和 REMOVE 命令之间的主要区别 - * DELETE 操作用于删除节点和关联关系。 * REMOVE 操作用于删除标签和属性。 Neo4j CQL DELETE 和 REMOVE 命令之间的相似性 - * 这两个命令不应单独使用。 * 两个命令都应该与 MATCH 命令一起使用。 ## 删除节点 / 关系的属性 我们可以使用相同的语法从数据库中永久删除节点或关系的属性或属性列表。 REMOVE 属性子句语法 ``` REMOVE <property-name-list> ``` <table><tbody><tr><th>S.No.</th><th>语法元素</th><th>描述</th></tr><tr><td>1。</td><td>REMOVE</td><td>它是一个 Neo4j CQL 关键字。</td></tr><tr><td>2。</td><td><property-name-list></td><td>它是一个属性列表,用于永久性地从节点或关系中删除它。</td></tr></tbody></table> <property-name-list> <属性名称列表> 语法 ``` <node-name>.<property1-name>, <node-name>.<property2-name>, .... <node-name>.<propertyn-name> ``` 语法说明: <table><tbody><tr><th>S.No.</th><th>语法元素</th><th>描述</th></tr><tr><td>1。</td><td><node-name></td><td>它是节点的名称。</td></tr><tr><td>2。</td><td><property-name></td><td>它是节点的属性名称。</td></tr></tbody></table> **注意 -** * 我们应该使用逗号(,)运算符来分隔标签名称列表。 * 我们应该使用 dot(。)运算符来分隔节点名称和标签名称。 ### 例如: 此示例演示如何创建节点并从数据库中永久删除此节点的属性。 **步骤 1** - 打开 Neo4j 数据浏览器  **步骤 2** - 在数据浏览器上键入以下命令 ``` CREATE (book:Book {id:122,title:"Neo4j Tutorial",pages:340,price:250}) ``` **** **步骤 3** - 点击 “执行” 按钮并观察结果。  它类似于以下两个 SQL 命令在一个镜头。 ``` CREATE TABLE BOOK( id number, title varchar2(20), pages number, price number ); INSERT INTO BOOK VALUES (122,'Neo4j Tutorial',340,250); ``` 这里我们可以观察到一个标签和一个节点有 4 个属性被成功创建。 **步骤 4** - 在数据浏览器上键入以下命令 ``` MATCH (book : Book) RETURN book ``` 它类似于下面的 SQL 命令。 ``` SELECT * FROM BOOK; ``` **步骤 5** - 点击 “执行” 按钮并观察结果。  这里我们可以观察到这个书节点有 4 个属性。 **步骤 6** - 在数据浏览器上键入以下命令,然后单击执行按钮从书节点中删除 “price” 属性。 ``` MATCH (book { id:122 }) REMOVE book.price RETURN book ``` 它类似于下面的 SQL 命令。 ``` ALTER TABLE BOOK REMOVE COLUMN PRICE; SELECT * FROM BOOK WHERE ID = 122; ```  在这里,我们只能看到节点书的 3 个属性,因为 “价格” 属性被删除。 有时基于客户端要求,我们需要删除一些现有的属性到节点或关系。 我们需要使用 REMOVE 子句来删除一个属性或一组属性。 ### 例如 此示例演示如何从数据库中永久删除现有节点的属性。 **步骤 1** - 打开 Neo4j 数据浏览器 **步骤 2** - 在数据浏览器上键入以下命令 ``` MATCH (dc:DebitCard) RETURN dc ``` **** **步骤 3** - 点击 “执行” 按钮并观察结果。  这里我们可以观察到 DebitCard 节点包含 6 个属性。 **步骤 4** - 在数据浏览器上键入以下命令 ``` MATCH (dc:DebitCard) REMOVE dc.cvv RETURN dc ``` **** 步骤 5 - 点击 “执行” 按钮并观察结果。  如果我们观察输出,“cvv”属性从 “DebitCard” 节点中删除。 # 删除节点 / 关系的标签 我们可以使用相同的语法从数据库中永久删除节点或关系的标签或标签列表。 REMOVE 一个 Label 子句语法: ``` REMOVE <label-name-list> ``` <table><tbody><tr><th>S.No.</th><th>语法元素</th><th>描述</th></tr><tr><td>1.</td><td>REMOVE</td><td>它是一个 Neo4j CQL 关键字。</td></tr><tr><td>2.</td><td><label-name-list></td><td>它是一个标签列表,用于永久性地从节点或关系中删除它。</td></tr></tbody></table> <label-name-list> 语法 ``` <node-name>:<label2-name>, .... <node-name>:<labeln-name> ``` 语法说明: <table><tbody><tr><th>S.No.</th><th>语法元素</th><th>描述</th></tr><tr><td>1。</td><td><node-name><br><节点名称></td><td>它是一个节点的名称。</td></tr><tr><td>2。</td><td><label-name><br><标签名称></td><td>这是一个节点的标签名称。</td></tr></tbody></table> **注意 -** * 我们应该使用逗号(,)运算符来分隔标签名称列表。 * 我们应该使用 colon(:) 运算符来分隔节点名和标签名。 ### 例如: 此示例演示如何从数据库永久删除不需要的标签到节点。 **步骤 1** - 打开 Neo4j 数据浏览器 **步骤 2** - 在数据浏览器上键入以下命令 ``` MATCH (m:Movie) RETURN m ``` **** **步骤 3** - 点击 “执行” 按钮并观察结果。 **** 步骤 4 - 点击节点以查看其属性窗口。  在这里我们可以观察到四个标签可用于单个节点。 根据我们的客户要求,我们需要删除 “图片” 属性到此节点。 **步骤 5** - 在浏览器上键入以下命令,然后单击执行按钮。 ``` MATCH (m:Movie) REMOVE m:Picture ``` **** **步骤 6** - 点击 “执行” 按钮并观察结果。  在这里我们可以观察到一个标签从数据库永久删除的节点。 **步骤 7** - 在数据浏览器上键入以下命令 ``` MATCH (m:Movie) RETURN m ``` **** **步骤 8** - 点击 “执行” 按钮并观察结果。  **步骤 9** - 单击节点以查看其属性窗口。  这里我们可以观察到这个节点只有三个标签:Movie,Cinema,Film from Properties Window。 这意味着我们的上一个命令已成功删除图片标签。
上一篇:
09-MongoDB 聚合
下一篇:
09-Zookeeper权限控制
文档导航