简介:Neo4j中使用Cypher进行更新操作
learn-anything | 2019年01月18日08:02:38
更新相关操作
-
更新和添加一个属性
-
创建一个节点,只有一个属性name='张三'
CREATE ({name:'张三'})
-
给创建的"张三"节点,添加一个属性age=20,修改name属性值为"李四"
MATCH (n {name:'张三'}) SET n.name='李四' SET n.age=20 RETURN n
-
-
修改节点信息,覆盖节点属性
- 该语句会直接删除掉name属性,新增age属性
MATCH (n {name:'张三'}) SET n={age:20}
- 该语句会直接删除掉name属性,新增age属性
-
修改节点信息,新增节点属性
- 该语句不会删除掉name属性,而是在节点中新增age属性
MATCH (n {name:'张三'}) SET n += {age:20} RETURN n
- 该语句不会删除掉name属性,而是在节点中新增age属性
-
为节点添加新标签
-
添加一个标签
MATCH (n{name:'张三'}) SET n:Person RETURN n
-
添加多个标签
MATCH (n{name:'张三'}) SET n:Person:Student RETURN n
-
-
为已经存在的两个节点添加关系
MATCH (a:Person {name: "张三"}), (b:Person {name: "李四"}) MERGE (a)-[r:FRIENDS]->(b)
-
匹配一个节点,更新属性如果属性不存在则创建该属性
MERGE (n:Person {name: "张三"}) ON CREATE SET n.created = timestamp() ON MATCH SET n.counter = coalesce(n.counter, 0) + 1, n.accessTime = timestamp()
-
匹配一个节点为他创建一个新的关系
- 如果没有"王五"节点则创建一个新的
MATCH (a:Person {name: "张三"}) MERGE (a)-[r:KNOWS]->(b:Person {name: "王五"})
- 参考链接:
网友评论