DELETE删除
DELETE删除子句:
1.删除节点
2.删除节点及相关节点和关系
删除节点
通过使用此命令,我们可以从数据库永久删除节点及其关联的属性。
DELETE节点子句语法
DELETE <node-name-list>
如删除name名为SJTU的university节点,此时发现报错,因为在删除节点前需要先将与该节点相关的关系删除:
于是我们删除没有任何关系的name为Shenzhen的city节点,发此案delete成功:
DELETE节点和关系子句语法
DELETE <node1-name>,<node2-name>,<relationship-name>
如删除name名为Wang Yizhuo的student节点和name名为SJTU的university节点和他们之间的关系is_graduated_from,此时发现并没有成功删除节点和关系,是因为name名为SJTU的university节点同时有其他的关系连接:
而试着删除没有其他关系连接的关系和节点发现成功:
也可以单独删除关系:
REMOVE删除
我们需要对现有节点或关系添加或删除属性:
1.使用SET子句向现有节点或关系添加新属性。
2.使用REMOVE子句来删除节点或关系的现有属性。
REMOVE命令用于:
1.删除节点或关系的标签
2.删除节点或关系的属性
DELETE和REMOVE命令之间的主要区别:
1.DELETE操作用于删除节点和关联关系。
2.REMOVE操作用于删除标签和属性。
DELETE和REMOVE命令之间的相似性:
1.这两个命令不应单独使用。
2.两个命令都应该与MATCH命令一起使用。
REMOVE属性子句语法
REMOVE <property-name-list>
<属性名称列表>语法
<node-name>.<property1-name>,
<node-name>.<property2-name>,
....
<node-name>.<propertyn-name>
首先创建一个标签名为FengWeiheng的节点,创建若干属性:
然后删除标签为FengWeiheng节点的属性major:
再返回标签名为FengWeiheng的节点,发现major属性已经消失。
REMOVE标签子句语法
REMOVE <label-name-list>
label-name-list语法
<node-name>:<label2-name>,
....
<node-name>:<labeln-name>
我们首先创建一个多标签的节点:
删除与programmer同为相同节点标签的player标签,此时发现节点标签中player已被删除。