Neo4j 安装及使用(图数据库)

一. Neo4j 图数据库介绍

Neo4j 属于图形数据库,与更广为人知的 MySQL 等关系型数据库不同,其保存的数据格式为节点和节点之间的关系,构建和查询关系数据非常高效便捷。

推荐博客:https://www.cnblogs.com/mojita/p/10480856.html  (里面很详细介绍图数据库,以及Neo4j 的重要基础点)

二. Neo4j 安装

Windows环境下安装:

推荐博客:https://www.cnblogs.com/ljhdo/p/5521577.html#4484538  (里面很详细介绍Neo4j 的下载安装及使用)

注:我下载安装后,没有在环境变量中添加NEO4J_HOME变量,直接在cmd中启动,如图:显示启动成功,即可在浏览器中访问

启动后访问浏览器,如图:Password 同 Username 一样,进去后修改密码

遇到的问题:

           1. 如果安装了 neo4j版本为 3.5.22 的,谷歌浏览器使用84 可使用,本人之前版本为53 不可访问。

三. 简单命令:

a. CREATE 创建 :

例 :CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" })

b. MATCH 检索匹配

   例:MATCH (dept: Dept) RETURN dept   (返回所有属性值)

     或 :MATCH (dept: Dept) RETURN dept.deptno,dept.dname,dept.location  (返回指定属性值)

注:不能单独使用MATCH 命令从数据库检索数据,要与RETURN子句或更新子句一起用。也不能单独使用return命令,要与match一起用。

c.创建节点之间关系

例:
MATCH (e:Customer),(cc:CreditCard) 
CREATE (e)-[r:DO_SHOPPING_WITH ]->(cc) 

查看已创建的关系:

MATCH (e)-[r:DO_SHOPPING_WITH ]->(cc) 
RETURN r

同时删除已创建的节点和关系:

MATCH (cc: CreditCard)-[rel]-(c:Customer) 
DELETE cc,c,rel

d. DELETE和REMOVE删除

  • DELETE操作用于删除节点和关联关系。
  • REMOVE操作用于删除标签和属性。

例:remove删除某属性

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

e. set 添加属性

MATCH (book:Book)
SET book.price = 3456
RETURN book

f. ORDER BY 排序

MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name DESC

g. union两子句结果合并

例:union子句结果合并 并去重,  两子句必须相同的属性名,必须要加as 起别名,否则会报错
MATCH (cc:CreditCard)
RETURN cc.id as id,cc.number as number
UNION
MATCH (dc:DebitCard)
RETURN dc.id as id,dc.number as number

union all 子句结果合并 不去重,全部显示。

h. limit 和Skip 类似分页使用

例:limit 取前两行
MATCH (emp:Employee) 
RETURN emp
LIMIT 2
例:skip 跳过两行,取后面的全部
MATCH (emp:Employee) 
RETURN emp
SKIP 2

可合用:跳过两行取一行

MATCH (emp:Customer) 
RETURN emp
skip 2 limit 1

I: MERGE 合并

MERGE = CREATE + MATCH

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

1.如果使用create添加,不会去匹配是否有存在的相同节点,执行一次,就会添加一条数据。

 2.如果使用merge添加,会匹配是否有存在的相同节点,有则不创建,没有则新添加。

例:

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

L:NULL  空值

在使用create,若不指定属性,默认是null,

CREATE (e:Employee)

例:使用not null 去空

MATCH (e:Employee) 
WHERE e.id IS NOT NULL
RETURN e.id,e.name,e.sal,e.deptno

K:IN 包含

例:
MATCH (e:Employee) 
WHERE e.id IN [123,124]
RETURN e.id,e.name,e.sal,e.deptno

以上只是简单的入门语法。

最后:

Neo4j 还支持创建索引,UNIQUE约束,处理字符串的函数等等,其功能同Oracle 和mysql 相似,只是语法有点不同,详细的资料参考:https://www.w3cschool.cn/neo4j/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值