Neo4j COL语法之MERGE/NULL/属性ID

MERGE

Neo4j使用CQL MERGE命令 -

  • 创建节点,关系和属性
  • 为从数据库检索数据
  • MERGE命令是CREATE命令和MATCH命令的组合。
MERGE = CREATE + MATCH

tips:merge与create的区别是
create可以创建重复的数据而merge创建重复的数据会自动去掉重,数据库只会显示一条数据

该创建语句的数据结果会在数据库里显示三条一样的信息
create (cc:CreditCard{id:"126",name:"abg",number:"5551",cvv:121})
create (cc:CreditCard{id:"126",name:"abg",number:"5551",cvv:121})
create (cc:CreditCard{id:"126",name:"abg",number:"5551",cvv:121})
该创建语句的数据结果会在数据库里显示一条信息,自动合并重复的数据
merge  (cc:CreditCard{id:"126",name:"abg",number:"5551",cvv:121})
merge  (cc:CreditCard{id:"126",name:"abg",number:"5551",cvv:121})
merge  (cc:CreditCard{id:"126",name:"abg",number:"5551",cvv:121})

NULL

  • Neo4j CQL将空值视为对节点或关系的属性的缺失值或未定义值。
  • 当我们创建一个具有现有节点标签名称但未指定其属性值的节点时,它将创建一个具有NULL属性值的新节点。
在该节点下创建了3条数据 分别是 
name   age  genner 
wang   18     man
yu     18     women
null   null   null
create (e:Empolyee{name:"wang",age:18,genner:"man"})
create (e:Empolyee{name:"yu",age:18,genner:"women"})
create (e:Empolyee)

查询该节点,过滤null值

match (e:empolyee)
where e.name is not null
return e

IN

  • 与SQL一样,Neo4j CQL提供了一个IN运算符,以便为CQL命令提供值的集合。

语法

match (e:Employee)
where e.name in ["wang","li"]  # 同sql语法一样 in关键字 【】里面是集合
return e.name,e.age

属性ID

  • 在Neo4j中,“Id”是节点和关系的默认内部属性。
    这意味着,当我们创建一个新的节点或关系时,Neo4j数据库服务器将为内部使用分配一个数字。 它会自动递增。
  • 节点的Id属性的最大值约为35亿。
  • Id的最大值关系的属性的大约35亿。
CREATE (tweet:Tweet{message:"Hello"})  #内部id默认为0
CREATE (tweet:Tweet{message:"Hello"})  #内部id增加1
发布了124 篇原创文章 · 获赞 0 · 访问量 7862

猜你喜欢

转载自blog.csdn.net/weixin_43680708/article/details/104798135
今日推荐