Neo4j

Neo4j

一. Neo4j 启动

(1)cmd中输入 :neo4j.bat console(适合第一次或者用管理员身份输入指令)
在这里插入图片描述
(2)cmd中输入:D:\neo4j-community-3.5.11\bin/neo4j start(路径+/neo4j start)
在这里插入图片描述

二. Neo4j CQL

1. CREATE

(一)创建一个节点
CREATE (
   <node-name>:<label-name>
   { 	
      <Property1-name>:<Property1-Value>
      ........
      <Propertyn-name>:<Propertyn-Value>
   }
)

在这里插入图片描述

列如:create (emp:Employee{empage:10,empname:"Accounting",location:"Hyderabad"})

返回结果
在这里插入图片描述

(二)给一个节点多个标签
CREATE (m:Movie:Cinema:Film:Picture)

2.MATCH & RETURN

MATCH 
(
   <node-name>:<label-name>
)

RETURN 
   <node-name>.<property1-name>,
   ........
   <node-name>.<propertyn-name>

在这里插入图片描述
在这里插入图片描述
MATCH与RETURN不能单独使用,需要配合使用才行

match(emp:Employee) return emp.name,emp.age

在这里插入图片描述

match(emp:Employee)return emp

在这里插入图片描述

3.关系基础

MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>)
CREATE  
	(<node1-label-name>)-[<relationship-label-name>:<relationship-name>
	{<define-properties-list>}]->(<node2-label-name>)
RETURN <relationship-label-name>

在这里插入图片描述

MATCH (cust:Customer),(cc:CreditCard) 
CREATE (cust)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(cc) 
RETURN r

在这里插入图片描述

4.WHERE

WHERE <condition>
<condition>语法:<property-name> <comparison-operator> <value>

在这里插入图片描述

MATCH(cust:Customer) where cust.name='Abc' return cust

在这里插入图片描述

5.DELETE

(一) 删除节点

DELETE <node-name-list>

在这里插入图片描述

MATCH (e:Employee) delete e

(二) 删除节点及关系

DELETE <node1-name>,<node2-name>,<relationship-name>

在这里插入图片描述

在这里插入代码片MATCH (cc: CreditCard)-[rel]-(c:Customer) 
DELETE cc,c,rel

6.REMOVE

(一)删除节点的属性

REMOVE <property-name-list>

在这里插入图片描述

MATCH (book { id:122 })
REMOVE book.price
RETURN book

(二)删除节点的标签

REMOVE <label-name-list> 

在这里插入图片描述

MATCH (m:Movie) 
REMOVE m:Picture

7.SET语句

SET  <property-name-list>

在这里插入图片描述

MATCH (dc:DebitCard)
SET dc.atm_pin = 3456
RETURN dc

8.Sorting排序

ORDER BY子句

ORDER BY  <property-name-list>  [DESC]

在这里插入图片描述

MATCH (emp:Employee)
RETURN emp.empid,emp.empname,emp.empage
ORDER BY emp.empid DESC

在这里插入图片描述

9.UNION子句

<MATCH Command1>
   UNION
<MATCH Command2>

在这里插入图片描述

MATCH (cc:CreditCard)
RETURN cc.id as id,cc.number as number,cc.name as name,
   cc.valid_from as valid_from,cc.valid_to as valid_to
UNION
MATCH (dc:DebitCard)
RETURN dc.id as id,dc.number as number,dc.name as name,
   dc.valid_from as valid_from,dc.valid_to as valid_to

在这里插入图片描述
UNION ALL子句
UNION ALL与UNION区别在于前者不会过滤重复行

10.LIMIT和SKIP子句

(一)LIMIT

LIMIT <number>

在这里插入图片描述
返回emp的前两行

MATCH (emp:Employee) 
RETURN emp
LIMIT 2

(二)SKIP

SKIP <number>

在这里插入图片描述
返回emp的后两行

MATCH (emp:Employee) 
RETURN emp
SKIP 2

11.MERGE

MERGE = CREATE + MATCH

在这里插入代码片MERGE (<node-name>:<label-name>
{
   <Property1-name>:<Pro<rty1-Value>
   .....
   <Propertyn-name>:<Propertyn-Value>
})

在这里插入图片描述

MERGE (gp2:GoogleProfile2{ Id: 201402,Name:"Nokia"})

用MERGE命令创建相同属性的同一个节点,MERGE命令检查该节点在数据库中是否可用。 如果它不存在,它创建新节点。 否则,它不创建新的。

12.IN

IN[<Collection-of-values>]

在这里插入图片描述
此查询仅返回在IN运算符中指定的id匹配的两行

在这里插入代码片MATCH (e:Employee) 
WHERE e.id IN [123,124]
RETURN e.id,e.name,e.sal,e.deptno

13.字符串函数

在这里插入图片描述

UPPER (<input-string>)
例:MATCH (e:Employee) 
   RETURN e.id,UPPER(e.name),e.sal,e.deptno
LOWER (<input-string>)
例:MATCH (e:Employee) 
   RETURN e.id,LOWER(e.name),e.sal,e.deptno
SUBSTRING(<input-string>,<startIndex> ,<endIndex>)
MATCH (e:Employee) 
RETURN e.id,SUBSTRING(e.name,0,2),e.sal,e.deptno

返回name的前两个字符

14.AGGREGATION聚合

在这里插入图片描述

COUNT(<value>)
例:MATCH (e:Employee) RETURN COUNT(*)
MAX(<property-name> )
MIN(<property-name> )
例:MATCH (e:Employee) 
   RETURN MAX(e.sal),MIN(e.sal)
AVG(<property-name> )
SUM(<property-name> )
例:MATCH (e:Employee) 
   RETURN SUM(e.sal),AVG(e.sal)

15.关系函数

在这里插入图片描述

MATCH (a)-[movie:ACTION_MOVIES]->(b) 
RETURN STARTNODE(movie)

MATCH (a)-[movie:ACTION_MOVIES]->(b) 
RETURN ENDNODE(movie)

MATCH (a)-[movie:ACTION_MOVIES]->(b) 
RETURN ID(movie),TYPE(movie)

16.索引

创建索引

CREATE INDEX ON :<label_name> (<property_name>)
CREATE INDEX ON :Customer (name)

删除索引

DROP INDEX ON :<label_name> (<property_name>)
DROP INDEX ON :Customer (name)

17.UNIQUE约束

避免重复记录
强制执行数据完整性规则

(一)创建约束

CREATE CONSTRAINT ON (<label_name>)
ASSERT <property_name> IS UNIQUE

在这里插入图片描述
设置让number这个字段不可重复

CREATE CONSTRAINT ON (cc:CreditCard)
ASSERT cc.number IS UNIQUE

(二)删除约束

DROP CONSTRAINT ON (<label_name>)
ASSERT <property_name> IS UNIQUE

在这里插入图片描述

DROP CONSTRAINT ON (cc:CreditCard)
ASSERT cc.number IS UNIQUE
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值