Neo4j COL语法之索引/UNIQUE约束

  • Neo4j SQL支持节点或关系属性上的索引,以提高应用程序的性能。
  • 我们可以为具有相同标签名称的所有节点的属性创建索引。
  • 我们可以在MATCH或WHERE或IN运算符上使用这些索引列来改进CQL Command的执行。
Neo4J索引操作
  • Create Index 创建索引
  • Drop Index 丢弃索引
  • 语法
CREATE INDEX ON :<label_name> (<property_name>)
语法描述它在节点或关系的<label_name>的<property_name>上创建一个新索引。

示例

CREATE (e:Customer{id:“1001”,name:“Abc”,dob:“01/10/1982”})

创建索引

create index on :Customer (name)  # 此时在e节点的name字段创建了索引

删除索引

drop index on :Customer(name) #删除name字段的索引
UNIQUE约束
  • 在Neo4j数据库中,CQL CREATE命令始终创建新的节点或关系,这意味着即使您使用相同的值,它也会插入一个新行,根据我们对某些节点或关系的应用需求,我们必须避免这种重复。 然后我们不能直接得到这个,我们应该使用一些数据库约束来创建节点或关系的一个或多个属性的规则。
  • 像SQL一样,Neo4j数据库也支持对NODE或Relationship的属性的UNIQUE约束
UNIQUE约束的优点
  • 避免重复记录。
  • 强制执行数据完整性规则。
  • 创建唯一约束语法
CREATE CONSTRAINT ON (<label_name>)
ASSERT <property_name> IS UNIQUE

语法说明:
在这里插入图片描述
示例

CREATE (cc:CreditCard{id:“5001”,number:“1234567890”,cvv:“888”,expiredate:“20/17”})
CREATE (cc:CreditCard{id:“5002”,number:“1234567880”,cvv:“886”,expiredate:“20/17”})
CREATE (cc:CreditCard{id:“5003”,number:“1234567870”,cvv:“884”,expiredate:“20/17”})

创建唯一约束

CREATE CONSTRAINT ON (cc:CreditCard)
ASSERT cc.id IS UNIQUE # 此时在id列上创建了唯一约束,此时不能再插入重复的值否则会报错,tips如果表内该字段有重复数据则无法建立唯一约束

删除唯一约束

DROP CONSTRAINT ON (cc:CreditCard)
ASSERT cc.id IS UNIQUE #此时删掉了唯一约束   可以向该节点的id列插入重复的值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值