Neo4j数据库删除数据

前言

我们使用Neo4j图数据库进行写入数据操作之后,免不了要删除数据的。

但是Neo4j的控制台没有提供快捷的删除按钮,所以我们还是需要通过命令来操作。

删除数据

如果数据库中的数据量并不大,节点数相对较少,我们可以通过命令行直接删除节点。

此类操作起到清空数据库的效果,但是不会删除数据库

这里列举两种常用的删除数据的用法:

【一】、删除对应节点及其所有关系

也就是说,只要符合键值对 { property-name:value } 条件的节点都会被删除

match (n {<property-name>:<value>} ) detach delete (n)

示例:

//创建节点
merge(t:Test{id:01,name:"hh"})
merge(t:test{id:02,name:"hh"})

//name为hh的两个节点及其关系都会删除
match (n{name:"hh"}) detach delete (n)

【二】、删除所有节点及其所有关系

此命令不用筛选条件,直接将数据库中的所有节点及关系全部删除

match (n) detach delete (n)

删除数据库

如果数据库中的数据量很大,节点数非常多,通过命令行删除会比较慢,那么我们可以通过物理方式直接删除数据库。

此类操作直接删除了数据库,数据当然都被清空了

首先,我们需要关闭 Neo4j 数据库的运行

然后找到 Neo4j 数据库的存放目录,也就是 <NEO4J_HOME>/data/

如果忘记了 NEO4J_HOME 可以去环境变量中查看

3.x版

Neo4j 的 3.x 版本下有一个 databases 文件夹,进入这个文件夹,里面有一个 graph.db 的文件夹和一个 store_lock 文件。

这个 graph.db 文件夹就是我们当前使用的数据库,直接删除即可。

4.x版

Neo4j 的 4.x 版本下有一个 databases 文件夹和一个 transactions 文件夹,两个文件夹下都有 graph.db。

我们将这两个文件夹下的 graph.db 都删除即可。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐