1、创建不带属性(或者带属性的节点:)
Create(node-name:label-name{属性列表})
{属性列表} 写法:{property-name1:value1,property-name2:value2,...}
例如:Create(person:Person{name:"典韦",nickname:"**",belong:"魏",age:35,famours:"护主",damage:91})
注意点:这里的node-name和label-name的区别,label-name相当于SQL数据库的表名!!!node-name是系统使用的,我们以后可以这样记忆,node-name是用来存放操作后(如查询到的)临时数据表,所以我们进行的所有操作都是在这个临时表上进行的。
2、查询所有创建的节点
match(n) return n;
注意match语句一定要和return语句联合使用
3、查询一个表的所有节点:
match(temp:Person) return temp;
注意上面的temp是存放查询数据的临时表,名字可以随便写。接着的是“表名”,必须写正确。然后想要显示查询结果我们必须返回临时表!
4、查询指定属性的节点:
match(temp:Person) where temp.name="郭嘉" return temp;
5、可以使用一些SQL语句中的关键字进行复杂的集合查询
match(temp:Person) where temp.name="郭嘉" OR temp.name="诸葛亮" return temp;
6、删除指定的不带关系的节点(如果带关系需要先删除关系才能删除节点):
match(temp:Person) where temp.name="汉献帝" delete temp;
7、删除一个不带关系的表:
match(temp:Test) delete temp;
这条语句会删除表中的所有数据。
8、删除所有节点(节点都不能带关系)
match(n) delete(n);
9、删除所有关系和节点:
MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r
10、删除指定表的关系和节点:
match(NFrom:Test)-[r]-() delete NFrom,r;
11、删除节点的关系但是不删除节点
match(temp1:Test)-[r]-(temp2:Test) where temp1.name="吕布" and temp2.name="董卓" delete r;
12、创建已经存在的两个指定节点间的关系:
match(NFrom:Test),(NTo:Test) Where NFrom.name="张角" and NTo.name="吕布" Create(NFrom)-[r:群雄]->(NTo);
其实上面的语句就是先查找到表,然后在临时表中查询该人,然后在这两个人中间创建一个关系,中括号中的[]关系中两个名字和node-name与label-name作用一样!13、创建两个节点的同时创建关系
Create(NFrom:Test{name:"貂蝉"})-[r:人间绝色]->(NTo:Test{name:"大乔"})
14、创建新建的节点和已经有的节点之间的关系:
match(NFrom:Test) where NFrom.name="吕布" Create(NFrom)-[r:夫君]->(NTo:Test{name:"貂蝉"})
其中貂蝉节点是新节点
注意:在上面的关系中。[r:关系]中,关系也是可以有属性的,如果我们需要创建属性的话,那么只需要如下:
[r:关系{属性列表}]如下:
match(NFrom:Test) where NFrom.name="吕布" Create(NFrom)-[r:义子{Time:"公元前407年",Event:"为赤兔杀丁原"}]->(NTo:Test{name:"董卓"})
15、查询的时候跳过一部分数据:
match(temp:Person) return temp skip 2
上面的代码可以跳过前两条数据
16、修改属性:
match(temp:Person) where temp.name="诸葛亮" Set temp.nickname="孔明";